r20353 - gnucash/trunk/src/gnome-utils - Fix Gtk CRIT warnings introduced in r20351
Geert Janssens
gjanssens at code.gnucash.org
Mon Feb 28 11:26:28 EST 2011
Author: gjanssens
Date: 2011-02-28 11:26:28 -0500 (Mon, 28 Feb 2011)
New Revision: 20353
Trac: http://svn.gnucash.org/trac/changeset/20353
Modified:
gnucash/trunk/src/gnome-utils/gnc-main-window.c
Log:
Fix Gtk CRIT warnings introduced in r20351
Modified: gnucash/trunk/src/gnome-utils/gnc-main-window.c
===================================================================
--- gnucash/trunk/src/gnome-utils/gnc-main-window.c 2011-02-28 11:28:25 UTC (rev 20352)
+++ gnucash/trunk/src/gnome-utils/gnc-main-window.c 2011-02-28 16:26:28 UTC (rev 20353)
@@ -1829,6 +1829,12 @@
priv = GNC_MAIN_WINDOW_GET_PRIVATE(window);
*label_p = *entry_p = NULL;
+ if (!page->notebook_page)
+ {
+ LEAVE("invalid notebook_page");
+ return FALSE;
+ }
+
event_box = gtk_notebook_get_tab_label(GTK_NOTEBOOK(priv->notebook),
page->notebook_page);
@@ -1863,9 +1869,15 @@
ENTER("window %p, page %p, event %p",
window, page, event_p);
- priv = GNC_MAIN_WINDOW_GET_PRIVATE(window);
*event_p = NULL;
+ if (!page->notebook_page)
+ {
+ LEAVE("invalid notebook_page");
+ return FALSE;
+ }
+
+ priv = GNC_MAIN_WINDOW_GET_PRIVATE(window);
event_box = gtk_notebook_get_tab_label(GTK_NOTEBOOK(priv->notebook),
page->notebook_page);
if (GTK_IS_EVENT_BOX(event_box))
@@ -1914,14 +1926,15 @@
/* Update the notebook tab */
window = GNC_MAIN_WINDOW(page->window);
if (!window)
+ {
+ LEAVE("no window widget available");
return;
- priv = GNC_MAIN_WINDOW_GET_PRIVATE(window);
- main_window_find_tab_items(window, page, &label, &entry);
- gtk_label_set_text(GTK_LABEL(label), name);
+ }
+ if (main_window_find_tab_items(window, page, &label, &entry))
+ gtk_label_set_text(GTK_LABEL(label), name);
+
/* Update Tooltip on notebook Tab */
- main_window_find_tab_event(window, page, &event_box);
-
if (old_page_long_name && old_page_name
&& g_strrstr(old_page_long_name, old_page_name) != NULL)
{
@@ -1932,15 +1945,21 @@
new_page_long_name = g_strconcat(g_strndup(old_page_long_name, string_position), name, NULL);
gnc_plugin_page_set_page_long_name(page, new_page_long_name);
- gtk_tooltips_set_tip(GTK_TOOLTIPS(tips), event_box, new_page_long_name, NULL);
+ if (main_window_find_tab_event(window, page, &event_box))
+ gtk_tooltips_set_tip(GTK_TOOLTIPS(tips), event_box, new_page_long_name, NULL);
+
g_free(new_page_long_name);
}
/* Update the notebook menu */
- label = gtk_notebook_get_menu_label (GTK_NOTEBOOK(priv->notebook),
- page->notebook_page);
- gtk_label_set_text(GTK_LABEL(label), name);
+ if (page->notebook_page)
+ {
+ priv = GNC_MAIN_WINDOW_GET_PRIVATE(window);
+ label = gtk_notebook_get_menu_label (GTK_NOTEBOOK(priv->notebook),
+ page->notebook_page);
+ gtk_label_set_text(GTK_LABEL(label), name);
+ }
/* Force an update of the window title */
gnc_main_window_update_title(window);
@@ -3835,12 +3854,23 @@
GtkNotebook *notebook;
GtkWidget *tab_widget, *menu_widget;
+ ENTER("action %p,window %p", action, window);
+
/* Setup */
priv = GNC_MAIN_WINDOW_GET_PRIVATE(window);
- if (priv->current_page == NULL)
+ page = priv->current_page;
+ if (!page)
+ {
+ LEAVE("invalid page");
return;
+ }
+ if (!page->notebook_page)
+ {
+ LEAVE("invalid notebook_page");
+ return;
+ }
+
notebook = GTK_NOTEBOOK (priv->notebook);
- page = priv->current_page;
tab_widget = gtk_notebook_get_tab_label (notebook, page->notebook_page);
menu_widget = gtk_notebook_get_menu_label (notebook, page->notebook_page);
@@ -3870,6 +3900,8 @@
page, window, new_window);
DEBUG("Old window current is %p, new window current is %p",
priv->current_page, priv->current_page);
+
+ LEAVE("page moved");
}
static void
More information about the gnucash-changes
mailing list