Skip to content

Commit 3caba99

Browse files
committed
try adjusting marshal types
icontainer and watch were declaring some signals as taking objevct arguments, but using a simple pointer marshal function. This is harmless on Debian-dervived distros, but redhat seem to build glib with run-time time checks which spot this and NULL out pointers, causing a crash. See #75
1 parent ed7ce70 commit 3caba99

File tree

2 files changed

+5
-5
lines changed

2 files changed

+5
-5
lines changed

src/icontainer.c

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -795,7 +795,7 @@ icontainer_class_init( iContainerClass *class )
795795
G_SIGNAL_RUN_LAST,
796796
G_STRUCT_OFFSET( iContainerClass, child_remove ),
797797
NULL, NULL,
798-
g_cclosure_marshal_VOID__POINTER,
798+
g_cclosure_marshal_VOID__OBJECT,
799799
G_TYPE_NONE, 1,
800800
TYPE_ICONTAINER );
801801

@@ -804,7 +804,7 @@ icontainer_class_init( iContainerClass *class )
804804
G_SIGNAL_RUN_LAST,
805805
G_STRUCT_OFFSET( iContainerClass, current ),
806806
NULL, NULL,
807-
g_cclosure_marshal_VOID__POINTER,
807+
g_cclosure_marshal_VOID__OBJECT,
808808
G_TYPE_NONE, 1,
809809
TYPE_ICONTAINER );
810810

@@ -813,7 +813,7 @@ icontainer_class_init( iContainerClass *class )
813813
G_SIGNAL_RUN_LAST,
814814
G_STRUCT_OFFSET( iContainerClass, child_detach ),
815815
NULL, NULL,
816-
g_cclosure_marshal_VOID__POINTER,
816+
g_cclosure_marshal_VOID__OBJECT,
817817
G_TYPE_NONE, 1,
818818
TYPE_ICONTAINER );
819819

src/watch.c

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -61,9 +61,9 @@ watchgroup_class_init( WatchgroupClass *class )
6161
G_SIGNAL_RUN_FIRST,
6262
G_STRUCT_OFFSET( WatchgroupClass, watch_changed ),
6363
NULL, NULL,
64-
g_cclosure_marshal_VOID__POINTER,
64+
g_cclosure_marshal_VOID__OBJECT,
6565
G_TYPE_NONE, 1,
66-
G_TYPE_POINTER );
66+
TYPE_WATCH );
6767
}
6868

6969
static void

0 commit comments

Comments
 (0)