[librest] Add marshaller for RestProxy::authenticate signal
- From: Christophe Fergeau <teuf src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [librest] Add marshaller for RestProxy::authenticate signal
- Date: Fri, 5 Jul 2013 12:09:29 +0000 (UTC)
commit 8e520d0788fbd3b16900b354fdf403dd1ddea7eb
Author: Christophe Fergeau <cfergeau redhat com>
Date: Thu Jul 4 18:44:34 2013 +0200
Add marshaller for RestProxy::authenticate signal
g_cclosure_marshal_generic() was only introduced in glib 2.30, for
older glib we need to specify the marshaller to use. If only NULL is
passed, we get a segfault when trying to invoke the signal.
https://bugzilla.gnome.org/show_bug.cgi?id=703642
rest/Makefile.am | 18 +++++++++++++++++-
rest/rest-marshal.txt | 1 +
rest/rest-proxy.c | 4 +++-
3 files changed, 21 insertions(+), 2 deletions(-)
---
diff --git a/rest/Makefile.am b/rest/Makefile.am
index f33fcf7..da2a56b 100644
--- a/rest/Makefile.am
+++ b/rest/Makefile.am
@@ -25,6 +25,9 @@ lib_sources = \
oauth2-proxy-private.h \
sha1.c \
sha1.h
+nodist_lib_sources = \
+ rest-marshal.h \
+ rest-marshal.c
lib_headers = \
rest-param.h \
rest-params.h \
@@ -39,6 +42,9 @@ lib_headers = \
rest-xml-node.h \
rest-xml-parser.h
+EXTRA_DIST = \
+ rest-marshal.txt
+
lib_LTLIBRARIES = librest- API_VERSION@.la
librest_ API_VERSION@_la_CFLAGS = $(GLIB_CFLAGS) $(GTHREAD_CFLAGS) \
$(SOUP_CFLAGS) $(SOUP_GNOME_CFLAGS) \
@@ -49,6 +55,7 @@ librest_ API_VERSION@_la_LIBADD = $(GLIB_LIBS) $(GTHREAD_LIBS) \
$(SOUP_LIBS) $(SOUP_GNOME_LIBS) $(XML_LIBS) \
$(GCOV_LDFLAGS)
librest_ API_VERSION@_la_SOURCES = $(lib_sources) $(lib_headers)
+nodist_librest_ API_VERSION@_la_SOURCES = $(nodist_lib_sources)
librest_ API_VERSION@_la_HEADERS = $(lib_headers)
librest_ API_VERSION@_ladir = $(includedir)/rest- API_VERSION@/rest
@@ -76,12 +83,21 @@ rest-enum-types.c: rest-proxy.h rest-proxy-call.h Makefile rest-enum-types.h
&& cp xgen-gtbc rest-enum-types.c \
&& rm -f xgen-gtbc
+BUILT_SOURCES = rest-marshal.c rest-marshal.h
+
+rest-marshal.c: rest-marshal.txt
+ $(AM_V_GEN)echo "#include \"rest-marshal.h\"" > $@ && \
+ glib-genmarshal --body $< >> $@ || (rm -f $@ && exit 1)
+
+rest-marshal.h: rest-marshal.txt
+ $(AM_V_GEN)glib-genmarshal --header $< > $@ || (rm -f $@ && exit 1)
+
# Test suite
TESTS = test-runner
check_PROGRAMS = test-runner
-test_runner_SOURCES = test-runner.c $(lib_sources) $(lib_headers)
+test_runner_SOURCES = test-runner.c $(lib_sources) $(nodist_lib_sources) $(lib_headers)
test_runner_CFLAGS = -DBUILD_TESTS $(librest_ API_VERSION@_la_CFLAGS) $(GCOV_CFLAGS)
test_runner_LDFLAGS = $(librest_ API_VERSION@_la_LIBADD) $(GCOV_LDFLAGS)
diff --git a/rest/rest-marshal.txt b/rest/rest-marshal.txt
new file mode 100644
index 0000000..98fb74b
--- /dev/null
+++ b/rest/rest-marshal.txt
@@ -0,0 +1 @@
+BOOLEAN:OBJECT,BOOLEAN
diff --git a/rest/rest-proxy.c b/rest/rest-proxy.c
index caff4c8..a9b91dd 100644
--- a/rest/rest-proxy.c
+++ b/rest/rest-proxy.c
@@ -28,6 +28,7 @@
#include <libsoup/soup-gnome.h>
#endif
+#include "rest-marshal.h"
#include "rest-proxy-auth-private.h"
#include "rest-proxy.h"
#include "rest-private.h"
@@ -375,7 +376,8 @@ rest_proxy_class_init (RestProxyClass *klass)
G_OBJECT_CLASS_TYPE (object_class),
G_SIGNAL_RUN_LAST,
G_STRUCT_OFFSET (RestProxyClass, authenticate),
- g_signal_accumulator_true_handled, NULL, NULL,
+ g_signal_accumulator_true_handled, NULL,
+ g_cclosure_user_marshal_BOOLEAN__OBJECT_BOOLEAN,
G_TYPE_BOOLEAN, 2,
REST_TYPE_PROXY_AUTH,
G_TYPE_BOOLEAN);
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]