summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTim Janik <timj@src.gnome.org>1998-02-14 05:37:53 +0000
committerTim Janik <timj@src.gnome.org>1998-02-14 05:37:53 +0000
commita589338a7fcc9447912fc285fb023ffbcd838dad (patch)
tree8851ebf18800e53651a1caf9ead59bb197c3b7d1
parent623f7d977284a12e0f73e4a4838f9773370f9148 (diff)
downloadgtk+-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.c2
-rw-r--r--gtk/gtkwindow.c26
-rw-r--r--gtk/gtkwindow.h2
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;