[gtk+] Check if childs actually exists before using it
- From: Javier Jardón <jjardon src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gtk+] Check if childs actually exists before using it
- Date: Thu, 22 Jul 2010 15:18:45 +0000 (UTC)
commit c1a2ecc369b8419fdd835bb4d45b48982bfb6dab
Author: Javier Jardón <jjardon gnome org>
Date: Thu Jul 22 16:43:23 2010 +0200
Check if childs actually exists before using it
Check seems to have gone lost during GtkBin sealing in commit 4427760b
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=624707
gtk/gtkhandlebox.c | 9 ++++++---
gtk/gtkmenuitem.c | 3 ++-
gtk/gtkoffscreenwindow.c | 6 ++++--
gtk/gtkplug.c | 6 ++++--
4 files changed, 16 insertions(+), 8 deletions(-)
---
diff --git a/gtk/gtkhandlebox.c b/gtk/gtkhandlebox.c
index 971ebd5..ead564c 100644
--- a/gtk/gtkhandlebox.c
+++ b/gtk/gtkhandlebox.c
@@ -378,7 +378,8 @@ gtk_handle_box_map (GtkWidget *widget)
gtk_widget_set_mapped (widget, TRUE);
child = gtk_bin_get_child (bin);
- if (gtk_widget_get_visible (child) &&
+ if (child != NULL &&
+ gtk_widget_get_visible (child) &&
!gtk_widget_get_mapped (child))
gtk_widget_map (child);
@@ -652,7 +653,7 @@ gtk_handle_box_size_allocate (GtkWidget *widget,
widget->allocation.height);
- if (gtk_widget_get_visible (child))
+ if (child != NULL && gtk_widget_get_visible (child))
{
GtkAllocation child_allocation;
guint border_width;
@@ -919,6 +920,7 @@ gtk_handle_box_paint (GtkWidget *widget,
GtkHandleBox *hb = GTK_HANDLE_BOX (widget);
GtkHandleBoxPriv *priv = hb->priv;
GtkBin *bin = GTK_BIN (widget);
+ GtkWidget *child;
gint width, height;
GdkRectangle rect;
GdkRectangle dest;
@@ -993,7 +995,8 @@ gtk_handle_box_paint (GtkWidget *widget,
event ? &event->area : area,
handle_orientation);
- if (gtk_widget_get_visible (gtk_bin_get_child (bin)))
+ child = gtk_bin_get_child (bin);
+ if (child != NULL && gtk_widget_get_visible (child))
GTK_WIDGET_CLASS (gtk_handle_box_parent_class)->expose_event (widget, event);
}
diff --git a/gtk/gtkmenuitem.c b/gtk/gtkmenuitem.c
index 580cb02..ded538c 100644
--- a/gtk/gtkmenuitem.c
+++ b/gtk/gtkmenuitem.c
@@ -973,7 +973,8 @@ gtk_menu_item_size_request (GtkWidget *widget,
requisition->height += 2 * horizontal_padding;
child = gtk_bin_get_child (bin);
- if (gtk_widget_get_visible (child))
+
+ if (child != NULL && gtk_widget_get_visible (child))
{
GtkRequisition child_requisition;
diff --git a/gtk/gtkoffscreenwindow.c b/gtk/gtkoffscreenwindow.c
index 30cc7a2..1c51abe 100644
--- a/gtk/gtkoffscreenwindow.c
+++ b/gtk/gtkoffscreenwindow.c
@@ -64,7 +64,8 @@ gtk_offscreen_window_size_request (GtkWidget *widget,
requisition->height = border_width * 2;
child = gtk_bin_get_child (bin);
- if (gtk_widget_get_visible (child))
+
+ if (child != NULL && gtk_widget_get_visible (child))
{
GtkRequisition child_req;
@@ -103,7 +104,8 @@ gtk_offscreen_window_size_allocate (GtkWidget *widget,
allocation->height);
child = gtk_bin_get_child (bin);
- if (gtk_widget_get_visible (child))
+
+ if (child != NULL && gtk_widget_get_visible (child))
{
GtkAllocation child_alloc;
diff --git a/gtk/gtkplug.c b/gtk/gtkplug.c
index 5bb003a..f1e2a19 100644
--- a/gtk/gtkplug.c
+++ b/gtk/gtkplug.c
@@ -710,7 +710,8 @@ gtk_plug_map (GtkWidget *widget)
gtk_widget_set_mapped (widget, TRUE);
child = gtk_bin_get_child (bin);
- if (gtk_widget_get_visible (child) &&
+ if (child != NULL &&
+ gtk_widget_get_visible (child) &&
!gtk_widget_get_mapped (child))
gtk_widget_map (child);
@@ -765,7 +766,8 @@ gtk_plug_size_allocate (GtkWidget *widget,
allocation->width, allocation->height);
child = gtk_bin_get_child (bin);
- if (gtk_widget_get_visible (child))
+
+ if (child != NULL && gtk_widget_get_visible (child))
{
GtkAllocation child_allocation;
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]