diff options
author | Tim Janik <timj@src.gnome.org> | 1998-02-14 05:37:53 +0000 |
---|---|---|
committer | Tim Janik <timj@src.gnome.org> | 1998-02-14 05:37:53 +0000 |
commit | a589338a7fcc9447912fc285fb023ffbcd838dad (patch) | |
tree | 8851ebf18800e53651a1caf9ead59bb197c3b7d1 | |
parent | 623f7d977284a12e0f73e4a4838f9773370f9148 (diff) | |
download | gtk+-a589338a7fcc9447912fc285fb023ffbcd838dad.tar.gz |
gtkmain forgot a return value.
few fixes with resizing behaviour and non opaque moves
where configure events would exceed te number of calls
to gdk_window_resize.
-timj
-rw-r--r-- | gtk/gtkmain.c | 2 | ||||
-rw-r--r-- | gtk/gtkwindow.c | 26 | ||||
-rw-r--r-- | gtk/gtkwindow.h | 2 |
3 files changed, 16 insertions, 14 deletions
diff --git a/gtk/gtkmain.c b/gtk/gtkmain.c index e373a2e1ab..fd7c4e3cb4 100644 --- a/gtk/gtkmain.c +++ b/gtk/gtkmain.c @@ -928,7 +928,7 @@ gtk_input_add_interp (gint source, gpointer data, GtkDestroyNotify destroy) { - gdk_input_add_full (source, condition, NULL, callback, data); + return gdk_input_add_full (source, condition, NULL, callback, data); } void diff --git a/gtk/gtkwindow.c b/gtk/gtkwindow.c index f6874e853e..a4532a368e 100644 --- a/gtk/gtkwindow.c +++ b/gtk/gtkwindow.c @@ -715,25 +715,27 @@ gtk_window_configure_event (GtkWidget *widget, !GTK_WIDGET_MAPPED (window->bin.child)) gtk_widget_map (window->bin.child); - window->resize_count -= 1; - if (window->resize_count == 0) + if (window->resize_count > 1) + window->resize_count -= 1; + else { - if ((event->width != widget->requisition.width) || - (event->height != widget->requisition.height)) + if ((window->auto_shrink && + ((event->width != widget->requisition.width) || + (event->height != widget->requisition.height))) || + (event->width < widget->requisition.width) || + (event->height < widget->requisition.height)) { - window->resize_count += 1; + window->resize_count = 1; gdk_window_resize (widget->window, widget->requisition.width, widget->requisition.height); } + else + window->resize_count = 0; } - else if (window->resize_count < 0) - { - window->resize_count = 0; - } - + window->handling_resize = FALSE; - + return FALSE; } @@ -1057,7 +1059,7 @@ gtk_real_window_move_resize (GtkWindow *window, { if (window->resize_count == 0) { - window->resize_count += 1; + window->resize_count = 1; gdk_window_resize (widget->window, widget->requisition.width, widget->requisition.height); diff --git a/gtk/gtkwindow.h b/gtk/gtkwindow.h index 30d8509ae3..f1fc2ca1cb 100644 --- a/gtk/gtkwindow.h +++ b/gtk/gtkwindow.h @@ -47,7 +47,7 @@ struct _GtkWindow GtkWidget *focus_widget; GtkWidget *default_widget; - gshort resize_count; + gushort resize_count; guint need_resize : 1; guint allow_shrink : 1; guint allow_grow : 1; |