From 564e2235e9384b6984f43fa35cb141439b5bb27f Mon Sep 17 00:00:00 2001 From: Tim Janik Date: Fri, 11 May 2001 04:09:47 +0000 Subject: [PATCH] don't propagate exposes to NULL child. Fri May 11 02:53:57 2001 Tim Janik * gtk/gtktogglebutton.c (gtk_toggle_button_expose): don't propagate exposes to NULL child. * gtk/gtkscrolledwindow.c (gtk_scrolled_window_adjustment_changed): guard against not having one of the scrollbars. * gtk/gtklabel.c (gtk_label_setup_mnemonic): clean up after us, we don't keep a mnemonic window if we have no mnemonic installed. --- ChangeLog | 11 +++++++++++ ChangeLog.pre-2-0 | 11 +++++++++++ ChangeLog.pre-2-10 | 11 +++++++++++ ChangeLog.pre-2-2 | 11 +++++++++++ ChangeLog.pre-2-4 | 11 +++++++++++ ChangeLog.pre-2-6 | 11 +++++++++++ ChangeLog.pre-2-8 | 11 +++++++++++ gtk/gtklabel.c | 9 ++++++--- gtk/gtkscrolledwindow.c | 7 +++++-- gtk/gtktogglebutton.c | 9 +++++---- 10 files changed, 93 insertions(+), 9 deletions(-) diff --git a/ChangeLog b/ChangeLog index ef8230858e..c705940b16 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,14 @@ +Fri May 11 02:53:57 2001 Tim Janik + + * gtk/gtktogglebutton.c (gtk_toggle_button_expose): don't + propagate exposes to NULL child. + + * gtk/gtkscrolledwindow.c (gtk_scrolled_window_adjustment_changed): guard + against not having one of the scrollbars. + + * gtk/gtklabel.c (gtk_label_setup_mnemonic): clean up after us, + we don't keep a mnemonic window if we have no mnemonic installed. + Fri May 11 01:05:00 2001 Tim Janik * gtk/gtktypeutils.h: grum, gtk_type_class() is not GNUC_CONST diff --git a/ChangeLog.pre-2-0 b/ChangeLog.pre-2-0 index ef8230858e..c705940b16 100644 --- a/ChangeLog.pre-2-0 +++ b/ChangeLog.pre-2-0 @@ -1,3 +1,14 @@ +Fri May 11 02:53:57 2001 Tim Janik + + * gtk/gtktogglebutton.c (gtk_toggle_button_expose): don't + propagate exposes to NULL child. + + * gtk/gtkscrolledwindow.c (gtk_scrolled_window_adjustment_changed): guard + against not having one of the scrollbars. + + * gtk/gtklabel.c (gtk_label_setup_mnemonic): clean up after us, + we don't keep a mnemonic window if we have no mnemonic installed. + Fri May 11 01:05:00 2001 Tim Janik * gtk/gtktypeutils.h: grum, gtk_type_class() is not GNUC_CONST diff --git a/ChangeLog.pre-2-10 b/ChangeLog.pre-2-10 index ef8230858e..c705940b16 100644 --- a/ChangeLog.pre-2-10 +++ b/ChangeLog.pre-2-10 @@ -1,3 +1,14 @@ +Fri May 11 02:53:57 2001 Tim Janik + + * gtk/gtktogglebutton.c (gtk_toggle_button_expose): don't + propagate exposes to NULL child. + + * gtk/gtkscrolledwindow.c (gtk_scrolled_window_adjustment_changed): guard + against not having one of the scrollbars. + + * gtk/gtklabel.c (gtk_label_setup_mnemonic): clean up after us, + we don't keep a mnemonic window if we have no mnemonic installed. + Fri May 11 01:05:00 2001 Tim Janik * gtk/gtktypeutils.h: grum, gtk_type_class() is not GNUC_CONST diff --git a/ChangeLog.pre-2-2 b/ChangeLog.pre-2-2 index ef8230858e..c705940b16 100644 --- a/ChangeLog.pre-2-2 +++ b/ChangeLog.pre-2-2 @@ -1,3 +1,14 @@ +Fri May 11 02:53:57 2001 Tim Janik + + * gtk/gtktogglebutton.c (gtk_toggle_button_expose): don't + propagate exposes to NULL child. + + * gtk/gtkscrolledwindow.c (gtk_scrolled_window_adjustment_changed): guard + against not having one of the scrollbars. + + * gtk/gtklabel.c (gtk_label_setup_mnemonic): clean up after us, + we don't keep a mnemonic window if we have no mnemonic installed. + Fri May 11 01:05:00 2001 Tim Janik * gtk/gtktypeutils.h: grum, gtk_type_class() is not GNUC_CONST diff --git a/ChangeLog.pre-2-4 b/ChangeLog.pre-2-4 index ef8230858e..c705940b16 100644 --- a/ChangeLog.pre-2-4 +++ b/ChangeLog.pre-2-4 @@ -1,3 +1,14 @@ +Fri May 11 02:53:57 2001 Tim Janik + + * gtk/gtktogglebutton.c (gtk_toggle_button_expose): don't + propagate exposes to NULL child. + + * gtk/gtkscrolledwindow.c (gtk_scrolled_window_adjustment_changed): guard + against not having one of the scrollbars. + + * gtk/gtklabel.c (gtk_label_setup_mnemonic): clean up after us, + we don't keep a mnemonic window if we have no mnemonic installed. + Fri May 11 01:05:00 2001 Tim Janik * gtk/gtktypeutils.h: grum, gtk_type_class() is not GNUC_CONST diff --git a/ChangeLog.pre-2-6 b/ChangeLog.pre-2-6 index ef8230858e..c705940b16 100644 --- a/ChangeLog.pre-2-6 +++ b/ChangeLog.pre-2-6 @@ -1,3 +1,14 @@ +Fri May 11 02:53:57 2001 Tim Janik + + * gtk/gtktogglebutton.c (gtk_toggle_button_expose): don't + propagate exposes to NULL child. + + * gtk/gtkscrolledwindow.c (gtk_scrolled_window_adjustment_changed): guard + against not having one of the scrollbars. + + * gtk/gtklabel.c (gtk_label_setup_mnemonic): clean up after us, + we don't keep a mnemonic window if we have no mnemonic installed. + Fri May 11 01:05:00 2001 Tim Janik * gtk/gtktypeutils.h: grum, gtk_type_class() is not GNUC_CONST diff --git a/ChangeLog.pre-2-8 b/ChangeLog.pre-2-8 index ef8230858e..c705940b16 100644 --- a/ChangeLog.pre-2-8 +++ b/ChangeLog.pre-2-8 @@ -1,3 +1,14 @@ +Fri May 11 02:53:57 2001 Tim Janik + + * gtk/gtktogglebutton.c (gtk_toggle_button_expose): don't + propagate exposes to NULL child. + + * gtk/gtkscrolledwindow.c (gtk_scrolled_window_adjustment_changed): guard + against not having one of the scrollbars. + + * gtk/gtklabel.c (gtk_label_setup_mnemonic): clean up after us, + we don't keep a mnemonic window if we have no mnemonic installed. + Fri May 11 01:05:00 2001 Tim Janik * gtk/gtktypeutils.h: grum, gtk_type_class() is not GNUC_CONST diff --git a/gtk/gtklabel.c b/gtk/gtklabel.c index ddcfd428f7..bc3a99c717 100644 --- a/gtk/gtklabel.c +++ b/gtk/gtklabel.c @@ -467,9 +467,12 @@ gtk_label_setup_mnemonic (GtkLabel *label, GtkWidget *toplevel; if (last_key != GDK_VoidSymbol && label->mnemonic_window) - gtk_window_remove_mnemonic (label->mnemonic_window, - last_key, - GTK_WIDGET (label)); + { + gtk_window_remove_mnemonic (label->mnemonic_window, + last_key, + GTK_WIDGET (label)); + label->mnemonic_window = NULL; + } if (label->mnemonic_keyval == GDK_VoidSymbol) return; diff --git a/gtk/gtkscrolledwindow.c b/gtk/gtkscrolledwindow.c index d220614c87..a9cb3e33cd 100644 --- a/gtk/gtkscrolledwindow.c +++ b/gtk/gtkscrolledwindow.c @@ -688,6 +688,7 @@ gtk_scrolled_window_size_request (GtkWidget *widget, else { GtkWidgetAuxInfo *aux_info = _gtk_widget_get_aux_info (bin->child, FALSE); + if (aux_info && aux_info->height > 0) { requisition->height += aux_info->height; @@ -968,7 +969,8 @@ gtk_scrolled_window_adjustment_changed (GtkAdjustment *adjustment, scrolled_win = GTK_SCROLLED_WINDOW (data); - if (adjustment == gtk_range_get_adjustment (GTK_RANGE (scrolled_win->hscrollbar))) + if (scrolled_win->hscrollbar && + adjustment == gtk_range_get_adjustment (GTK_RANGE (scrolled_win->hscrollbar))) { if (scrolled_win->hscrollbar_policy == GTK_POLICY_AUTOMATIC) { @@ -981,7 +983,8 @@ gtk_scrolled_window_adjustment_changed (GtkAdjustment *adjustment, gtk_widget_queue_resize (GTK_WIDGET (scrolled_win)); } } - else if (adjustment == gtk_range_get_adjustment (GTK_RANGE (scrolled_win->vscrollbar))) + else if (scrolled_win->vscrollbar && + adjustment == gtk_range_get_adjustment (GTK_RANGE (scrolled_win->vscrollbar))) { if (scrolled_win->vscrollbar_policy == GTK_POLICY_AUTOMATIC) { diff --git a/gtk/gtktogglebutton.c b/gtk/gtktogglebutton.c index b4af1af243..46cc40d93a 100644 --- a/gtk/gtktogglebutton.c +++ b/gtk/gtktogglebutton.c @@ -466,11 +466,12 @@ gtk_toggle_button_expose (GtkWidget *widget, { if (GTK_WIDGET_DRAWABLE (widget)) { + GtkWidget *child = GTK_BIN (widget)->child; + gtk_toggle_button_paint (widget, &event->area); - - gtk_container_propagate_expose (GTK_CONTAINER (widget), - GTK_BIN (widget)->child, - event); + + if (child) + gtk_container_propagate_expose (GTK_CONTAINER (widget), child, event); } return TRUE;