15 ноября 2011, 18:51 от Yves-Alexis Perez <cor...@debian.org>: > On mar., 2011-11-15 at 01:50 +0400, Ibragimov Rinat wrote: > > fix segfault on file open command > > > > There are two definitions of signals assert having one parameter > > each with G_TYPE_STRING type. But instead of strings, pointers are > > passed. Additionally Launch method of FileManager dbus interface > > expecting three strings now. > > > > There is no sense to send this patch to upstream because squeeze was > > mostly rewrited and now git head have little common with 0.2.3. > > > > Could you attach the patch in a standard file instead of inline, btw? Sure. One more thing. I just tried it on debian stable and found that there is difference in dbus interface: stable expect two strings but testing - three. So patches should be slightly different. I attached both.
diff --git a/libsqueeze/xfce-launch-command.c b/libsqueeze/xfce-launch-command.c index 26587a7..3aff671 100644 --- a/libsqueeze/xfce-launch-command.c +++ b/libsqueeze/xfce-launch-command.c @@ -157,6 +157,6 @@ lsq_xfce_launch_command_execute(LSQArchiveCommand *command) LSQXfceLaunchCommand *xfce_launch_command = LSQ_XFCE_LAUNCH_COMMAND(command); /* args */ - dbus_g_proxy_call(xfce_launch_command->proxy, "Launch", NULL, G_TYPE_STRING, xfce_launch_command->files, G_TYPE_STRING, "", NULL); + dbus_g_proxy_call(xfce_launch_command->proxy, "Launch", NULL, G_TYPE_STRING, xfce_launch_command->files, G_TYPE_STRING, "", G_TYPE_STRING, "", NULL); return TRUE; } diff --git a/src/archive_store.c b/src/archive_store.c index a9d0794..58956fb 100644 --- a/src/archive_store.c +++ b/src/archive_store.c @@ -312,7 +312,7 @@ sq_archive_store_class_init(SQArchiveStoreClass *as_class) g_cclosure_marshal_VOID__POINTER, G_TYPE_NONE, 1, - G_TYPE_STRING, + G_TYPE_POINTER, NULL); } diff --git a/src/notebook.c b/src/notebook.c index bff5ef8..045f984 100644 --- a/src/notebook.c +++ b/src/notebook.c @@ -160,7 +160,7 @@ sq_notebook_class_init(SQNotebookClass *notebook_class) G_SIGNAL_RUN_LAST | G_SIGNAL_ACTION, 0, NULL, NULL, g_cclosure_marshal_VOID__POINTER, - G_TYPE_NONE, 1, G_TYPE_STRING, NULL); + G_TYPE_NONE, 1, G_TYPE_POINTER, NULL); sq_notebook_signals[SQ_NOTEBOOK_SIGNAL_STATE_CHANGED] = g_signal_new("archive-state-changed", G_TYPE_FROM_CLASS(notebook_class),
diff --git a/src/archive_store.c b/src/archive_store.c index a9d0794..58956fb 100644 --- a/src/archive_store.c +++ b/src/archive_store.c @@ -312,7 +312,7 @@ sq_archive_store_class_init(SQArchiveStoreClass *as_class) g_cclosure_marshal_VOID__POINTER, G_TYPE_NONE, 1, - G_TYPE_STRING, + G_TYPE_POINTER, NULL); } diff --git a/src/notebook.c b/src/notebook.c index bff5ef8..045f984 100644 --- a/src/notebook.c +++ b/src/notebook.c @@ -160,7 +160,7 @@ sq_notebook_class_init(SQNotebookClass *notebook_class) G_SIGNAL_RUN_LAST | G_SIGNAL_ACTION, 0, NULL, NULL, g_cclosure_marshal_VOID__POINTER, - G_TYPE_NONE, 1, G_TYPE_STRING, NULL); + G_TYPE_NONE, 1, G_TYPE_POINTER, NULL); sq_notebook_signals[SQ_NOTEBOOK_SIGNAL_STATE_CHANGED] = g_signal_new("archive-state-changed", G_TYPE_FROM_CLASS(notebook_class),