summaryrefslogtreecommitdiff
path: root/gtk
diff options
context:
space:
mode:
Diffstat (limited to 'gtk')
-rw-r--r--gtk/Makefile.am5
-rw-r--r--gtk/gtklayout.c13
-rw-r--r--gtk/gtkmain.c2
-rw-r--r--gtk/gtkobject.c14
-rw-r--r--gtk/gtktypeutils.h4
-rw-r--r--gtk/gtkwidget.c2
-rw-r--r--gtk/gtkwindow.c22
7 files changed, 34 insertions, 28 deletions
diff --git a/gtk/Makefile.am b/gtk/Makefile.am
index a17e75d540..e81ee14863 100644
--- a/gtk/Makefile.am
+++ b/gtk/Makefile.am
@@ -312,8 +312,11 @@ libgtk_la_LDFLAGS = \
# $(top_builddir)/gdk/libgdk.la
gtkconfdir = $(sysconfdir)/gtk
-gtkconf_DATA = gtkrc.ja gtkrc.ko gtkrc.ru
+gtkconf_DATA = gtkrc gtkrc.ja gtkrc.ko gtkrc.ru
+gtkrc:
+ :
+
# We create a dummy theme for the default GTK+ theme
install-data-local:
diff --git a/gtk/gtklayout.c b/gtk/gtklayout.c
index 8f4197f653..2b55613f2f 100644
--- a/gtk/gtklayout.c
+++ b/gtk/gtklayout.c
@@ -103,19 +103,6 @@ static GdkFilterReturn gtk_layout_main_filter (GdkXEvent *gdk_xevent,
GdkEvent *event,
gpointer data);
-static gboolean gtk_layout_gravity_works (void);
-static void gtk_layout_set_static_gravity (GdkWindow *win,
- gboolean is_parent,
- gboolean on);
-
-static void gtk_layout_add_child_cb (GdkWindow *parent,
- GdkWindow *child,
- gpointer data);
-static void gtk_layout_remove_child_cb (GdkWindow *parent,
- GdkWindow *child,
- gpointer data);
-
-
static GtkWidgetClass *parent_class = NULL;
static gboolean gravity_works;
diff --git a/gtk/gtkmain.c b/gtk/gtkmain.c
index 975e13f705..08f1e44120 100644
--- a/gtk/gtkmain.c
+++ b/gtk/gtkmain.c
@@ -178,6 +178,7 @@ gboolean
gtk_init_check (int *argc,
char ***argv)
{
+ extern void gtk_object_post_arg_parsing_init (void);
GSList *gtk_modules = NULL;
GSList *slist;
gchar *env_string = NULL;
@@ -385,6 +386,7 @@ gtk_init_check (int *argc,
gtk_colormap = gdk_colormap_get_system ();
gtk_type_init ();
+ gtk_object_post_arg_parsing_init ();
gtk_signal_init ();
gtk_rc_init ();
diff --git a/gtk/gtkobject.c b/gtk/gtkobject.c
index 1a75dfaa0f..2c57960619 100644
--- a/gtk/gtkobject.c
+++ b/gtk/gtkobject.c
@@ -96,6 +96,15 @@ gtk_object_debug (void)
}
#endif /* G_ENABLE_DEBUG */
+void
+gtk_object_post_arg_parsing_init (void)
+{
+#ifdef G_ENABLE_DEBUG
+ if (gtk_debug_flags & GTK_DEBUG_OBJECTS)
+ g_atexit (gtk_object_debug);
+#endif /* G_ENABLE_DEBUG */
+}
+
/****************************************************
* GtkObject type, class and instance initialization
*
@@ -119,11 +128,6 @@ gtk_object_init_type (void)
object_type = gtk_type_unique (0, &object_info);
g_assert (object_type == GTK_TYPE_OBJECT);
-
-#ifdef G_ENABLE_DEBUG
- if (gtk_debug_flags & GTK_DEBUG_OBJECTS)
- g_atexit (gtk_object_debug);
-#endif /* G_ENABLE_DEBUG */
}
GtkType
diff --git a/gtk/gtktypeutils.h b/gtk/gtktypeutils.h
index 1494fa9607..3e657b0cb6 100644
--- a/gtk/gtktypeutils.h
+++ b/gtk/gtktypeutils.h
@@ -107,9 +107,11 @@ typedef enum
/* Determines whether `type_object' and `type_class' are a type of `otype'.
*/
#define GTK_CHECK_TYPE(type_object, otype) ( \
- gtk_type_is_a (((GtkTypeObject*) (type_object))->klass->type, (otype)) \
+ ((GtkTypeObject*) (type_object)) != NULL && \
+ GTK_CHECK_CLASS_TYPE (((GtkTypeObject*) (type_object))->klass, (otype)) \
)
#define GTK_CHECK_CLASS_TYPE(type_class, otype) ( \
+ ((GtkTypeClass*) (type_class)) != NULL && \
gtk_type_is_a (((GtkTypeClass*) (type_class))->type, (otype)) \
)
diff --git a/gtk/gtkwidget.c b/gtk/gtkwidget.c
index cbaf6966e0..b4a2eacb78 100644
--- a/gtk/gtkwidget.c
+++ b/gtk/gtkwidget.c
@@ -2361,7 +2361,7 @@ gtk_widget_size_request (GtkWidget *widget,
g_return_if_fail (GTK_IS_WIDGET (widget));
#ifdef G_ENABLE_DEBUG
- if (!GTK_WIDGET_TOPLEVEL (widget) && (requisition == &widget->requisition))
+ if (requisition == &widget->requisition)
g_warning ("gtk_widget_size_request() called on child widget with widget equal\n to widget->requisition. gtk_widget_set_usize() may not work properly.");
#endif /* G_ENABLE_DEBUG */
diff --git a/gtk/gtkwindow.c b/gtk/gtkwindow.c
index 20e2c98001..04ce74819a 100644
--- a/gtk/gtkwindow.c
+++ b/gtk/gtkwindow.c
@@ -1295,6 +1295,7 @@ gtk_window_move_resize (GtkWindow *window)
{
GtkWidget *widget;
GtkWindowGeometryInfo *info;
+ GtkRequisition requisition;
GtkContainer *container;
gint x, y;
gint width, height;
@@ -1324,33 +1325,37 @@ gtk_window_move_resize (GtkWindow *window)
else
height = widget->requisition.height;
- gtk_widget_size_request (widget, &widget->requisition);
+ size_changed = FALSE;
- /* Figure out the new desired size */
+ gtk_widget_size_request (widget, &requisition);
- size_changed = FALSE;
+ size_changed |= requisition.width != widget->requisition.width;
+ size_changed |= requisition.height != widget->requisition.height;
+ widget->requisition = requisition;
+
+ /* Figure out the new desired size */
if (info && info->width > 0)
{
- size_changed = size_changed || (width != info->last_width);
+ size_changed |= width != info->last_width;
info->last_width = width;
new_width = info->width;
}
else
{
- size_changed = size_changed || (width != widget->requisition.width);
+ size_changed |= width != widget->requisition.width;
new_width = widget->requisition.width;
}
if (info && info->height > 0)
{
- size_changed = size_changed || (height != info->last_height);
+ size_changed |= height != info->last_height;
info->last_height = height;
new_height = info->height;
}
else
{
- size_changed = size_changed || (height != widget->requisition.height);
+ size_changed |= height != widget->requisition.height;
new_height = widget->requisition.height;
}
@@ -1493,6 +1498,9 @@ gtk_window_move_resize (GtkWindow *window)
allocation.height = new_height;
gtk_widget_size_allocate (widget, &allocation);
+ gdk_window_resize (widget->window,
+ new_width,
+ new_height);
}
else
{