summaryrefslogtreecommitdiff
path: root/gtk
diff options
context:
space:
mode:
Diffstat (limited to 'gtk')
-rw-r--r--gtk/gtkinvisible.c2
-rw-r--r--gtk/gtkinvisible.h5
-rw-r--r--gtk/gtkwidget.c2
3 files changed, 4 insertions, 5 deletions
diff --git a/gtk/gtkinvisible.c b/gtk/gtkinvisible.c
index e7d8cc4088..1350a43900 100644
--- a/gtk/gtkinvisible.c
+++ b/gtk/gtkinvisible.c
@@ -24,6 +24,7 @@
* GTK+ at ftp://ftp.gtk.org/pub/gtk/.
*/
+#include <gdk/gdk.h>
#include "gtksignal.h"
#include "gtkinvisible.h"
@@ -80,6 +81,7 @@ static void
gtk_invisible_init (GtkInvisible *invisible)
{
GTK_WIDGET_UNSET_FLAGS (invisible, GTK_NO_WINDOW);
+ GTK_WIDGET_SET_FLAGS (invisible, GTK_TOPLEVEL);
gtk_widget_ref (GTK_WIDGET (invisible));
gtk_object_sink (GTK_OBJECT (invisible));
diff --git a/gtk/gtkinvisible.h b/gtk/gtkinvisible.h
index 7214ecf553..4ab0335239 100644
--- a/gtk/gtkinvisible.h
+++ b/gtk/gtkinvisible.h
@@ -27,10 +27,7 @@
#ifndef __GTK_INVISIBLE_H__
#define __GTK_INVISIBLE_H__
-
-#include <gdk/gdk.h>
-#include <gtk/gtkbin.h>
-
+#include <gtk/gtkwidget.h>
#ifdef __cplusplus
extern "C" {
diff --git a/gtk/gtkwidget.c b/gtk/gtkwidget.c
index 3f7b4c9de3..001b1c8192 100644
--- a/gtk/gtkwidget.c
+++ b/gtk/gtkwidget.c
@@ -1984,7 +1984,7 @@ gtk_widget_queue_resize (GtkWidget *widget)
if (widget->parent)
gtk_container_queue_resize (GTK_CONTAINER (widget->parent));
- else if (GTK_WIDGET_TOPLEVEL (widget))
+ else if (GTK_WIDGET_TOPLEVEL (widget) && GTK_IS_CONTAINER (widget))
gtk_container_queue_resize (GTK_CONTAINER (widget));
}