summaryrefslogtreecommitdiff
path: root/ui/gtk/bytes_view.c
diff options
context:
space:
mode:
authorJakub Zawadzki <darkjames-ws@darkjames.pl>2012-07-23 20:24:36 +0000
committerJakub Zawadzki <darkjames-ws@darkjames.pl>2012-07-23 20:24:36 +0000
commit045b5b03ceb4c08967516f8a61b7477df7daf24f (patch)
treec979a9b9d94be4495085538d5658346d625606f9 /ui/gtk/bytes_view.c
parent713dbd01c911771084ca27f707e2d21b670c38cb (diff)
downloadwireshark-045b5b03ceb4c08967516f8a61b7477df7daf24f.tar.gz
Fix bug #7520: Byteview related Glib-GObject-Critical msgs during GTK2 Wireshark startup
Put generated, with *proper* types version of marshaler (VOID:OBJECT,OBJECT) inside bytes_view.c It was also only blocker of #undef GTK_DISABLE_DEPRECATED, so remove it. XXX generated version of marshaler looks portable, but it'd be best to generate it using glib-genmarshal during compilation. svn path=/trunk/; revision=43947
Diffstat (limited to 'ui/gtk/bytes_view.c')
-rw-r--r--ui/gtk/bytes_view.c37
1 files changed, 33 insertions, 4 deletions
diff --git a/ui/gtk/bytes_view.c b/ui/gtk/bytes_view.c
index 70391672a8..7c4679ce9a 100644
--- a/ui/gtk/bytes_view.c
+++ b/ui/gtk/bytes_view.c
@@ -33,8 +33,6 @@
#include "config.h"
#endif
-#undef GTK_DISABLE_DEPRECATED /* for gtk_marshal_VOID__POINTER_POINTER */
-
#include <gtk/gtk.h>
#include "ui/gtk/old-gtk-compat.h"
@@ -1124,6 +1122,38 @@ bytes_view_get_property(GObject *object, guint prop_id, GValue *value, GParamSpe
break;
}
}
+
+#else
+
+/* bv_VOID__OBJECT_OBJECT() generated by:
+ * $ echo 'VOID:OBJECT,OBJECT' | glib-genmarshal --prefix=bv --body
+ * (glib-genmarshal version 2.32.4)
+ * I *really hope* it's portable over platforms and can be put generated.
+ */
+
+static void
+bv_VOID__OBJECT_OBJECT(GClosure *closure, GValue *return_value _U_, guint n_params, const GValue *param_values, gpointer hint _U_, gpointer marshal_data)
+{
+ typedef void (*GMarshalFunc_VOID__OBJECT_OBJECT)(gpointer, gpointer, gpointer, gpointer);
+
+ register GMarshalFunc_VOID__OBJECT_OBJECT callback;
+ register GCClosure *cc = (GCClosure*) closure;
+ register gpointer data1, data2;
+
+ g_return_if_fail(n_params == 3);
+
+ if (G_CCLOSURE_SWAP_DATA(closure)) {
+ data1 = closure->data;
+ data2 = g_value_peek_pointer(param_values + 0);
+ } else {
+ data1 = g_value_peek_pointer(param_values + 0);
+ data2 = closure->data;
+ }
+ callback = (GMarshalFunc_VOID__OBJECT_OBJECT) (marshal_data ? marshal_data : cc->callback);
+
+ callback(data1, g_value_get_object(param_values + 1), g_value_get_object(param_values + 2), data2);
+}
+
#endif
static void
@@ -1188,8 +1218,7 @@ bytes_view_class_init(BytesViewClass *klass)
G_SIGNAL_RUN_LAST | G_SIGNAL_ACTION,
G_STRUCT_OFFSET(BytesViewClass, set_scroll_adjustments),
NULL, NULL,
- gtk_marshal_VOID__POINTER_POINTER,
-/* _gtk_marshal_VOID__OBJECT_OBJECT, */
+ bv_VOID__OBJECT_OBJECT,
G_TYPE_NONE, 2,
GTK_TYPE_ADJUSTMENT,
GTK_TYPE_ADJUSTMENT);