diff options
author | Ulrich Müller <ulm@gentoo.org> | 2009-03-28 18:25:12 +0000 |
---|---|---|
committer | Ulrich Müller <ulm@gentoo.org> | 2009-03-28 18:25:12 +0000 |
commit | 1ca6bb60bc3fbfc5dbcd5aa62fbaba5a1d69716b (patch) | |
tree | 8d9a1abf7566ccfa93b64169729ef55bb6e22774 /media-libs/libcanberra/files | |
parent | Passing LDFLAGS to C linker via -cclib. Bug #239574 (diff) | |
download | gentoo-2-1ca6bb60bc3fbfc5dbcd5aa62fbaba5a1d69716b.tar.gz gentoo-2-1ca6bb60bc3fbfc5dbcd5aa62fbaba5a1d69716b.tar.bz2 gentoo-2-1ca6bb60bc3fbfc5dbcd5aa62fbaba5a1d69716b.zip |
Add patch from upstream, fixes bug 259891. Remove old.
(Portage version: 2.2_rc27/cvs/Linux i686)
Diffstat (limited to 'media-libs/libcanberra/files')
-rw-r--r-- | media-libs/libcanberra/files/libcanberra-0.11-dont-crash-without-display.patch | 77 |
1 files changed, 77 insertions, 0 deletions
diff --git a/media-libs/libcanberra/files/libcanberra-0.11-dont-crash-without-display.patch b/media-libs/libcanberra/files/libcanberra-0.11-dont-crash-without-display.patch new file mode 100644 index 000000000000..856a9181f63f --- /dev/null +++ b/media-libs/libcanberra/files/libcanberra-0.11-dont-crash-without-display.patch @@ -0,0 +1,77 @@ +From: Lennart Poettering <lennart@poettering.net> +Date: Mon, 23 Mar 2009 20:55:36 +0000 (+0100) +Subject: don't crash if there is no default display on initialization. Fixes #20693 +X-Git-Url: http://git.0pointer.de/?p=libcanberra.git;a=commitdiff_plain;h=ac5ac9e486aa33f7be0cd9ddd315c03780676795 + +don't crash if there is no default display on initialization. Fixes #20693 +--- + +diff --git a/src/canberra-gtk-module.c b/src/canberra-gtk-module.c +index b9d8ae0..302eeb4 100644 +--- a/src/canberra-gtk-module.c ++++ b/src/canberra-gtk-module.c +@@ -647,11 +647,15 @@ static gboolean idle_cb(void *userdata) { + return FALSE; + } + ++static void connect_settings(void); ++ + static gboolean emission_hook_cb(GSignalInvocationHint *hint, guint n_param_values, const GValue *param_values, gpointer data) { + static SoundEventData *d = NULL; + GdkEvent *e; + GObject *object; + ++ connect_settings(); ++ + if (disabled) + return TRUE; + +@@ -719,15 +723,15 @@ static void enable_input_feedback_sounds_changed(GtkSettings *s, GParamSpec *arg + read_enable_input_feedback_sounds(s); + } + +-G_MODULE_EXPORT void gtk_module_init(gint *argc, gchar ***argv[]) { ++static void connect_settings(void) { + GtkSettings *s; ++ static gboolean connected = FALSE; + +- /* This is the same quark libgnomeui uses! */ +- disable_sound_quark = g_quark_from_string("gnome_disable_sound_events"); +- was_hidden_quark = g_quark_from_string("canberra_was_hidden"); ++ if (connected) ++ return; + +- /* Hook up the gtk setting */ +- s = gtk_settings_get_default(); ++ if (!(s = gtk_settings_get_default())) ++ return; + + if (g_object_class_find_property(G_OBJECT_GET_CLASS(s), "gtk-enable-input-feedback-sounds")) { + g_signal_connect(G_OBJECT(s), "notify::gtk-enable-input-feedback-sounds", G_CALLBACK(enable_input_feedback_sounds_changed), NULL); +@@ -735,6 +739,18 @@ G_MODULE_EXPORT void gtk_module_init(gint *argc, gchar ***argv[]) { + } else + g_debug("This Gtk+ version doesn't have the GtkSettings::gtk-enable-input-feedback-sounds property."); + ++ connected = TRUE; ++} ++ ++G_MODULE_EXPORT void gtk_module_init(gint *argc, gchar ***argv[]) { ++ ++ /* This is the same quark libgnomeui uses! */ ++ disable_sound_quark = g_quark_from_string("gnome_disable_sound_events"); ++ was_hidden_quark = g_quark_from_string("canberra_was_hidden"); ++ ++ /* Hook up the gtk setting */ ++ connect_settings(); ++ + install_hook(GTK_TYPE_WINDOW, "show", &signal_id_widget_show); + install_hook(GTK_TYPE_WINDOW, "hide", &signal_id_widget_hide); + install_hook(GTK_TYPE_DIALOG, "response", &signal_id_dialog_response); +@@ -749,7 +765,6 @@ G_MODULE_EXPORT void gtk_module_init(gint *argc, gchar ***argv[]) { + install_hook(GTK_TYPE_ICON_VIEW, "selection-changed", &signal_id_icon_view_selection_changed); + } + +- + G_MODULE_EXPORT gchar* g_module_check_init(GModule *module); + + G_MODULE_EXPORT gchar* g_module_check_init(GModule *module) { |