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
This commit is contained in:
Jakub Zawadzki 2012-07-23 20:24:36 +00:00
parent 713dbd01c9
commit 045b5b03ce
1 changed files with 33 additions and 4 deletions

View File

@ -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);