Accepting request 57548 from home:vuntz:branches:GNOME:Factory
ok OBS-URL: https://build.opensuse.org/request/show/57548 OBS-URL: https://build.opensuse.org/package/show/GNOME:Factory/glib2?expand=0&rev=127
This commit is contained in:
parent
b8f27c4c0b
commit
07e884af2e
70
glib2-fix-panel-crash.patch
Normal file
70
glib2-fix-panel-crash.patch
Normal file
@ -0,0 +1,70 @@
|
||||
commit e738a8dd8ca3d3dd327bc5a3bbfd151858738609
|
||||
Author: Colin Walters <walters@verbum.org>
|
||||
Date: Thu Jan 6 11:47:58 2011 -0500
|
||||
|
||||
gdesktopappinfo: Don't crash if we don't have a desktop filename
|
||||
|
||||
If code creates a GDesktopAppInfo via g_desktop_app_info_new_from_keyfile(),
|
||||
we'd try to send a NULL pointer down into GVariant.
|
||||
|
||||
Since in this case we don't have a filename, just send the empty
|
||||
string. In the future we should either:
|
||||
|
||||
1) Change panel to use g_desktop_app_info_new_from_filename(), and
|
||||
take the hit of parsing the file twice.
|
||||
2) Add a g_key_file_get_origin_filename()
|
||||
3) Add g_desktop_app_info_new_from_keyfile_and_name()
|
||||
|
||||
https://bugzilla.gnome.org/show_bug.cgi?id=638838
|
||||
|
||||
diff --git a/gio/gdesktopappinfo.c b/gio/gdesktopappinfo.c
|
||||
index c808796..f557538 100644
|
||||
--- a/gio/gdesktopappinfo.c
|
||||
+++ b/gio/gdesktopappinfo.c
|
||||
@@ -932,7 +932,7 @@ child_setup (gpointer user_data)
|
||||
|
||||
static void
|
||||
notify_desktop_launch (GDBusConnection *session_bus,
|
||||
- const char *desktop_file, /* filename */
|
||||
+ GDesktopAppInfo *info,
|
||||
long pid,
|
||||
const char *display,
|
||||
const char *sn_id,
|
||||
@@ -942,6 +942,7 @@ notify_desktop_launch (GDBusConnection *session_bus,
|
||||
GVariantBuilder uri_variant;
|
||||
GVariantBuilder extras_variant;
|
||||
GList *iter;
|
||||
+ const char *desktop_file_id;
|
||||
|
||||
if (session_bus == NULL)
|
||||
return;
|
||||
@@ -956,12 +957,19 @@ notify_desktop_launch (GDBusConnection *session_bus,
|
||||
"startup-id",
|
||||
g_variant_new ("s",
|
||||
sn_id));
|
||||
+
|
||||
+ if (info->filename)
|
||||
+ desktop_file_id = info->filename;
|
||||
+ else if (info->desktop_id)
|
||||
+ desktop_file_id = info->desktop_id;
|
||||
+ else
|
||||
+ desktop_file_id = "";
|
||||
|
||||
msg = g_dbus_message_new_signal ("/org/gtk/gio/DesktopAppInfo",
|
||||
"org.gtk.gio.DesktopAppInfo",
|
||||
"Launched");
|
||||
g_dbus_message_set_body (msg, g_variant_new ("(@aysxasa{sv})",
|
||||
- g_variant_new_bytestring (desktop_file),
|
||||
+ g_variant_new_bytestring (desktop_file_id),
|
||||
display ? display : "",
|
||||
(gint64)pid,
|
||||
&uri_variant,
|
||||
@@ -1069,7 +1077,7 @@ _g_desktop_app_info_launch_uris_internal (GAppInfo *appinfo,
|
||||
pid_callback (info, pid, pid_callback_data);
|
||||
|
||||
notify_desktop_launch (session_bus,
|
||||
- info->filename,
|
||||
+ info,
|
||||
pid,
|
||||
data.display,
|
||||
data.sn_id,
|
@ -1,3 +1,9 @@
|
||||
-------------------------------------------------------------------
|
||||
Sat Jan 8 09:53:23 CET 2011 - vuntz@opensuse.org
|
||||
|
||||
- Add glib2-fix-panel-crash.patch, taken from git: this fixes a
|
||||
crash in gnome-panel.
|
||||
|
||||
-------------------------------------------------------------------
|
||||
Fri Jan 7 17:29:01 CET 2011 - vuntz@opensuse.org
|
||||
|
||||
|
@ -40,6 +40,8 @@ Source5: macros.glib2
|
||||
# Please update this file from the latest gtk-doc package:
|
||||
Source6: gtk-doc.m4
|
||||
Source99: baselibs.conf
|
||||
# PATCH-FIX-UPSTREAM glib2-fix-panel-crash.patch vuntz@opensuse.org -- Taken from git, to fix a panel crash
|
||||
Patch0: glib2-fix-panel-crash.patch
|
||||
# PATCH-FIX-OPENSUSE glib2-bnc379332-desktop-su.patch bnc379332 vuntz@novell.com -- Use X-KDE-SubstituteUID
|
||||
Patch8: glib2-bnc379332-desktop-su.patch
|
||||
# PATCH-FEATURE-UPSTREAM glib2-bgo569829-gettext-gkeyfile.patch fate300461 bgo569829 vuntz@novell.com -- Look for translation of desktop entry strings via gettext, part that we share with Ubuntu and try to push upstream
|
||||
@ -245,6 +247,7 @@ The GObject library provides an object-oriented framework for C.
|
||||
%prep
|
||||
%setup -q -n %{_name}-%{version}
|
||||
translation-update-upstream
|
||||
%patch0 -p1
|
||||
%patch8
|
||||
%patch10 -p1
|
||||
%patch11 -p1
|
||||
|
Loading…
Reference in New Issue
Block a user