diff options
-rw-r--r-- | addressbook/gui/contact-editor/e-contact-quick-add.c | 23 | ||||
-rw-r--r-- | addressbook/gui/widgets/e-minicard-view.c | 4 | ||||
-rw-r--r-- | calendar/gui/dialogs/recurrence-page.c | 8 | ||||
-rw-r--r-- | mail/e-mail-label-list-store.c | 4 | ||||
-rw-r--r-- | widgets/misc/e-action-combo-box.c | 1 |
5 files changed, 32 insertions, 8 deletions
diff --git a/addressbook/gui/contact-editor/e-contact-quick-add.c b/addressbook/gui/contact-editor/e-contact-quick-add.c index bb40e9a79d..1e287d8516 100644 --- a/addressbook/gui/contact-editor/e-contact-quick-add.c +++ b/addressbook/gui/contact-editor/e-contact-quick-add.c @@ -35,6 +35,25 @@ #include "eab-contact-merging.h" #include "e-util/e-error.h" +static GtkWindow * +get_dlg_parent_window (void) +{ + GList *windows; + GtkWindow *parent = NULL; + EShell *shell = e_shell_get_default (); + + g_return_val_if_fail (shell != NULL, NULL); + + for (windows = e_shell_get_watched_windows (shell); windows && !parent; windows = windows->next) { + if (GTK_IS_WINDOW (windows->data)) + parent = windows->data; + } + + g_return_val_if_fail (parent != NULL, NULL); + + return parent; +} + typedef struct _QuickAdd QuickAdd; struct _QuickAdd { gchar *name; @@ -129,7 +148,7 @@ merge_cb (EBook *book, EBookStatus status, gpointer closure) if (e_book_is_writable (book)) eab_merging_book_add_contact (book, qa->contact, NULL, NULL); else - e_error_run (NULL, "addressbook:error-read-only", e_source_peek_name (e_book_get_source (book)), NULL); + e_error_run (get_dlg_parent_window (), "addressbook:error-read-only", e_source_peek_name (e_book_get_source (book)), NULL); if (qa->cb) qa->cb (qa->contact, qa->closure); @@ -326,7 +345,7 @@ build_quick_add_dialog (QuickAdd *qa) g_return_val_if_fail (qa != NULL, NULL); dialog = gtk_dialog_new_with_buttons (_("Contact Quick-Add"), - NULL, /* XXX */ + get_dlg_parent_window (), GTK_DIALOG_NO_SEPARATOR, _("_Edit Full"), QUICK_ADD_RESPONSE_EDIT_FULL, GTK_STOCK_CANCEL, GTK_RESPONSE_CANCEL, diff --git a/addressbook/gui/widgets/e-minicard-view.c b/addressbook/gui/widgets/e-minicard-view.c index 80d7291113..5f16ac9a56 100644 --- a/addressbook/gui/widgets/e-minicard-view.c +++ b/addressbook/gui/widgets/e-minicard-view.c @@ -167,10 +167,10 @@ set_empty_message (EMinicardView *view) g_object_get (view->adapter, "editable", &editable, "model", &model, + "book", &book, NULL); - g_object_get (view->adapter, "book", &book, NULL); - if (!e_book_check_static_capability (book, "do-initial-query")) + if (book && !e_book_check_static_capability (book, "do-initial-query")) perform_initial_query = TRUE; searching = model && e_addressbook_model_can_stop (model); diff --git a/calendar/gui/dialogs/recurrence-page.c b/calendar/gui/dialogs/recurrence-page.c index b2c5cf3e21..a94fe9e37f 100644 --- a/calendar/gui/dialogs/recurrence-page.c +++ b/calendar/gui/dialogs/recurrence-page.c @@ -2309,19 +2309,19 @@ init_widgets (RecurrencePage *rpage) g_signal_connect_swapped ( priv->interval_unit_combo, "changed", - G_CALLBACK (comp_editor_page_changed), rpage); + G_CALLBACK (make_recurrence_special), rpage); g_signal_connect_swapped ( priv->interval_unit_combo, "changed", - G_CALLBACK (make_recurrence_special), rpage); + G_CALLBACK (comp_editor_page_changed), rpage); /* Recurrence ending */ g_signal_connect_swapped ( priv->ending_combo, "changed", - G_CALLBACK (comp_editor_page_changed), rpage); + G_CALLBACK (make_ending_special), rpage); g_signal_connect_swapped ( priv->ending_combo, "changed", - G_CALLBACK (make_ending_special), rpage); + G_CALLBACK (comp_editor_page_changed), rpage); /* Exception buttons */ diff --git a/mail/e-mail-label-list-store.c b/mail/e-mail-label-list-store.c index a8953333a4..ba9bf41694 100644 --- a/mail/e-mail-label-list-store.c +++ b/mail/e-mail-label-list-store.c @@ -323,6 +323,7 @@ e_mail_label_list_store_get_name (EMailLabelListStore *store, result = NULL; g_strfreev (strv); + g_free (encoded); return result; } @@ -352,6 +353,7 @@ e_mail_label_list_store_get_color (EMailLabelListStore *store, valid = FALSE; g_strfreev (strv); + g_free (encoded); return valid; } @@ -378,6 +380,7 @@ e_mail_label_list_store_get_stock_id (EMailLabelListStore *store, result = NULL; g_strfreev (strv); + g_free (encoded); return result; } @@ -434,6 +437,7 @@ e_mail_label_list_store_get_tag (EMailLabelListStore *store, result = mail_label_list_store_tag_from_name (strv[0]); g_strfreev (strv); + g_free (encoded); return result; } diff --git a/widgets/misc/e-action-combo-box.c b/widgets/misc/e-action-combo-box.c index e8a9be51ed..7010dc048b 100644 --- a/widgets/misc/e-action-combo-box.c +++ b/widgets/misc/e-action-combo-box.c @@ -512,6 +512,7 @@ e_action_combo_box_set_action (EActionComboBox *combo_box, combo_box); if (combo_box->priv->action_group != NULL) { + g_object_ref (combo_box->priv->action_group); combo_box->priv->group_sensitive_handler_id = g_signal_connect ( combo_box->priv->action_group, |