+2007-02-15 [colin] 2.7.2cvs46
+
+ * src/addressbook.c
+ Probably fix bug 1123, 'Segmentation
+ fault while opening address book'. I get
+ g_warnings if the saved paned position is
+ not greater than 0. Also, save position
+ when hiding the addressbook instead of
+ via signal.
+
2007-02-14 [colin] 2.7.2cvs45
* src/plugins/pgpcore/prefs_gpg.c
}
/* save hpane and vpane's handle position when it moves */
-static void addressbook_pane_notify_position(GObject *gobject,
- GParamSpec *arg1,
- gpointer user_data)
+static void addressbook_pane_save_position(void)
{
- prefs_common.addressbook_hpaned_pos = gtk_paned_get_position(GTK_PANED(addrbook.hpaned));
- prefs_common.addressbook_vpaned_pos = gtk_paned_get_position(GTK_PANED(addrbook.vpaned));
+ if (addrbook.hpaned)
+ prefs_common.addressbook_hpaned_pos =
+ gtk_paned_get_position(GTK_PANED(addrbook.hpaned));
+ if (addrbook.vpaned)
+ prefs_common.addressbook_vpaned_pos =
+ gtk_paned_get_position(GTK_PANED(addrbook.vpaned));
}
/*
prefs_common.addressbookwin_height);
if (!prefs_common.addressbook_use_editaddress_dialog) {
- gtk_paned_set_position(GTK_PANED(vpaned), prefs_common.addressbook_vpaned_pos);
- g_signal_connect(G_OBJECT(vpaned), "notify::position",
- G_CALLBACK(addressbook_pane_notify_position), NULL);
+ if (prefs_common.addressbook_vpaned_pos > 0)
+ gtk_paned_set_position(GTK_PANED(vpaned),
+ prefs_common.addressbook_vpaned_pos);
}
- gtk_paned_set_position(GTK_PANED(hpaned), prefs_common.addressbook_hpaned_pos);
- g_signal_connect(G_OBJECT(hpaned), "notify::position",
- G_CALLBACK(addressbook_pane_notify_position), NULL);
+ if (prefs_common.addressbook_hpaned_pos > 0)
+ gtk_paned_set_position(GTK_PANED(hpaned),
+ prefs_common.addressbook_hpaned_pos);
+
gtk_widget_show_all(window);
}
address_completion_end(addrbook.window);
if (!prefs_common.addressbook_use_editaddress_dialog)
addressbook_edit_person_invalidate(NULL, NULL, NULL);
+
+ addressbook_pane_save_position();
+
gtk_widget_hide(addrbook.window);
addressbook_export_to_file();
return TRUE;