summaryrefslogtreecommitdiff
path: root/gtk/gtkeventbox.c
diff options
context:
space:
mode:
authorTimm Bäder <mail@baedert.org>2017-07-01 18:16:24 +0200
committerMatthias Clasen <mclasen@redhat.com>2017-07-19 21:27:15 -0400
commit2c958df789ae890f17e8609ccacf585f92069168 (patch)
tree39e9d7a4578b88e006081d40b03cf506b91ab45b /gtk/gtkeventbox.c
parent82eafb8a2c6c5aaccff090d9a83110640148b75a (diff)
downloadgtk+-2c958df789ae890f17e8609ccacf585f92069168.tar.gz
eventbox: Remove window
Diffstat (limited to 'gtk/gtkeventbox.c')
-rw-r--r--gtk/gtkeventbox.c42
1 files changed, 6 insertions, 36 deletions
diff --git a/gtk/gtkeventbox.c b/gtk/gtkeventbox.c
index db263ca25b..42a2cab888 100644
--- a/gtk/gtkeventbox.c
+++ b/gtk/gtkeventbox.c
@@ -30,6 +30,7 @@
#include "gtkprivate.h"
#include "gtkrender.h"
#include "gtksizerequest.h"
+#include "gtkwidgetprivate.h"
/**
@@ -106,7 +107,7 @@ gtk_event_box_class_init (GtkEventBoxClass *class)
static void
gtk_event_box_init (GtkEventBox *event_box)
{
- gtk_widget_set_has_window (GTK_WIDGET (event_box), TRUE);
+ gtk_widget_set_has_window (GTK_WIDGET (event_box), FALSE);
event_box->priv = gtk_event_box_get_instance_private (event_box);
event_box->priv->above_child = FALSE;
@@ -370,40 +371,16 @@ gtk_event_box_realize (GtkWidget *widget)
{
GtkEventBoxPrivate *priv;
GtkAllocation allocation;
- GdkWindow *window;
- gboolean visible_window;
priv = GTK_EVENT_BOX (widget)->priv;
- gtk_widget_get_allocation (widget, &allocation);
+ gtk_widget_get_window_allocation (widget, &allocation);
- gtk_widget_set_realized (widget, TRUE);
+ GTK_WIDGET_CLASS (gtk_event_box_parent_class)->realize (widget);
- visible_window = gtk_widget_get_has_window (widget);
- if (visible_window)
+ if (priv->above_child)
{
- window = gdk_window_new_child (gtk_widget_get_parent_window (widget),
- GDK_ALL_EVENTS_MASK,
- &allocation);
-
- gtk_widget_set_window (widget, window);
- gtk_widget_register_window (widget, window);
- }
- else
- {
- window = gtk_widget_get_parent_window (widget);
- gtk_widget_set_window (widget, window);
- g_object_ref (window);
- }
-
- if (!visible_window || priv->above_child)
- {
- if (visible_window)
- {
- allocation.x = 0;
- allocation.y = 0;
- }
- priv->event_window = gdk_window_new_input (window,
+ priv->event_window = gdk_window_new_input (gtk_widget_get_window (widget),
GDK_ALL_EVENTS_MASK,
&allocation);
gtk_widget_register_window (widget, priv->event_window);
@@ -485,13 +462,6 @@ gtk_event_box_size_allocate (GtkWidget *widget,
child_allocation.y,
child_allocation.width,
child_allocation.height);
-
- if (gtk_widget_get_has_window (widget))
- gdk_window_move_resize (gtk_widget_get_window (widget),
- allocation->x,
- allocation->y,
- child_allocation.width,
- child_allocation.height);
}
baseline = gtk_widget_get_allocated_baseline (widget);