15 ноября 2011, 18:51 от Yves-Alexis Perez <[email protected]>:
> 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),