Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
View | Details | Raw Unified | Return to bug 259891
Collapse All | Expand All

(-)a/src/canberra-gtk-module.c (-7 / +22 lines)
Lines 647-657 static gboolean idle_cb(void *userdata) { Link Here
647
    return FALSE;
647
    return FALSE;
648
}
648
}
649
649
650
static void connect_settings(void);
651
650
static gboolean emission_hook_cb(GSignalInvocationHint *hint, guint n_param_values, const GValue *param_values, gpointer data) {
652
static gboolean emission_hook_cb(GSignalInvocationHint *hint, guint n_param_values, const GValue *param_values, gpointer data) {
651
    static SoundEventData *d = NULL;
653
    static SoundEventData *d = NULL;
652
    GdkEvent *e;
654
    GdkEvent *e;
653
    GObject *object;
655
    GObject *object;
654
656
657
    connect_settings();
658
655
    if (disabled)
659
    if (disabled)
656
        return TRUE;
660
        return TRUE;
657
661
Lines 719-733 static void enable_input_feedback_sounds_changed(GtkSettings *s, GParamSpec *arg Link Here
719
    read_enable_input_feedback_sounds(s);
723
    read_enable_input_feedback_sounds(s);
720
}
724
}
721
725
722
G_MODULE_EXPORT void gtk_module_init(gint *argc, gchar ***argv[]) {
726
static void connect_settings(void) {
723
    GtkSettings *s;
727
    GtkSettings *s;
728
    static gboolean connected = FALSE;
724
729
725
    /* This is the same quark libgnomeui uses! */
730
    if (connected)
726
    disable_sound_quark = g_quark_from_string("gnome_disable_sound_events");
731
        return;
727
    was_hidden_quark = g_quark_from_string("canberra_was_hidden");
728
732
729
    /* Hook up the gtk setting */
733
    if (!(s = gtk_settings_get_default()))
730
    s = gtk_settings_get_default();
734
        return;
731
735
732
    if (g_object_class_find_property(G_OBJECT_GET_CLASS(s), "gtk-enable-input-feedback-sounds")) {
736
    if (g_object_class_find_property(G_OBJECT_GET_CLASS(s), "gtk-enable-input-feedback-sounds")) {
733
        g_signal_connect(G_OBJECT(s), "notify::gtk-enable-input-feedback-sounds", G_CALLBACK(enable_input_feedback_sounds_changed), NULL);
737
        g_signal_connect(G_OBJECT(s), "notify::gtk-enable-input-feedback-sounds", G_CALLBACK(enable_input_feedback_sounds_changed), NULL);
Lines 735-740 G_MODULE_EXPORT void gtk_module_init(gint *argc, gchar ***argv[]) { Link Here
735
    } else
739
    } else
736
        g_debug("This Gtk+ version doesn't have the GtkSettings::gtk-enable-input-feedback-sounds property.");
740
        g_debug("This Gtk+ version doesn't have the GtkSettings::gtk-enable-input-feedback-sounds property.");
737
741
742
    connected = TRUE;
743
}
744
745
G_MODULE_EXPORT void gtk_module_init(gint *argc, gchar ***argv[]) {
746
747
    /* This is the same quark libgnomeui uses! */
748
    disable_sound_quark = g_quark_from_string("gnome_disable_sound_events");
749
    was_hidden_quark = g_quark_from_string("canberra_was_hidden");
750
751
    /* Hook up the gtk setting */
752
    connect_settings();
753
738
    install_hook(GTK_TYPE_WINDOW, "show", &signal_id_widget_show);
754
    install_hook(GTK_TYPE_WINDOW, "show", &signal_id_widget_show);
739
    install_hook(GTK_TYPE_WINDOW, "hide", &signal_id_widget_hide);
755
    install_hook(GTK_TYPE_WINDOW, "hide", &signal_id_widget_hide);
740
    install_hook(GTK_TYPE_DIALOG, "response", &signal_id_dialog_response);
756
    install_hook(GTK_TYPE_DIALOG, "response", &signal_id_dialog_response);
Lines 749-755 G_MODULE_EXPORT void gtk_module_init(gint *argc, gchar ***argv[]) { Link Here
749
    install_hook(GTK_TYPE_ICON_VIEW, "selection-changed", &signal_id_icon_view_selection_changed);
765
    install_hook(GTK_TYPE_ICON_VIEW, "selection-changed", &signal_id_icon_view_selection_changed);
750
}
766
}
751
767
752
753
G_MODULE_EXPORT gchar* g_module_check_init(GModule *module);
768
G_MODULE_EXPORT gchar* g_module_check_init(GModule *module);
754
769
755
G_MODULE_EXPORT gchar* g_module_check_init(GModule *module) {
770
G_MODULE_EXPORT gchar* g_module_check_init(GModule *module) {

Return to bug 259891