1
=== modified file 'gtk/window-decorator/events.c'
2
--- a/gtk/window-decorator/events.c 2011-10-13 12:22:14 +0000
3
+++ b/gtk/window-decorator/events.c 2012-02-10 10:30:27 +0000
9
GdkDisplay *gdkdisplay;
10
XEvent *xevent = gdkxevent;
14
gdkdisplay = gdk_display_get_default ();
15
- xdisplay = GDK_DISPLAY_XDISPLAY (gdkdisplay);
17
switch (xevent->type) {
19
@@ -1018,13 +1016,7 @@
23
- gwd_decor_frame_unref (d->frame);
26
- gdk_error_trap_push ();
27
- XDeleteProperty (xdisplay, xid, win_decor_atom);
28
- gdk_display_sync (gdk_display_get_default ());
29
- gdk_error_trap_pop ();
30
+ remove_frame_window (win);
35
=== modified file 'gtk/window-decorator/wnck.c'
36
--- a/gtk/window-decorator/wnck.c 2011-10-13 09:53:38 +0000
37
+++ b/gtk/window-decorator/wnck.c 2012-02-10 10:30:27 +0000
41
d->active = wnck_window_is_active (win);
43
+ decor_frame_t *frame = d->decorated ? d->frame : gwd_get_decor_frame (get_frame_type (win));
45
if ((d->state & META_MAXIMIZED) == META_MAXIMIZED)
51
- d->context = &d->frame->max_window_context_active;
52
- d->shadow = d->frame->max_border_shadow_active;
53
+ d->context = &frame->max_window_context_active;
54
+ d->shadow = frame->max_border_shadow_active;
58
- d->context = &d->frame->max_window_context_inactive;
59
- d->shadow = d->frame->max_border_shadow_inactive;
60
+ d->context = &frame->max_window_context_inactive;
61
+ d->shadow = frame->max_border_shadow_inactive;
69
d->shadow = d->frame->max_border_no_shadow;
79
- d->context = &d->frame->window_context_active;
80
- d->shadow = d->frame->border_shadow_active;
81
+ d->context = &frame->window_context_active;
82
+ d->shadow = frame->border_shadow_active;
86
- d->context = &d->frame->window_context_inactive;
87
- d->shadow = d->frame->border_shadow_inactive;
88
+ d->context = &frame->window_context_inactive;
89
+ d->shadow = frame->border_shadow_inactive;
98
+ gwd_decor_frame_unref (frame);
100
/* We need to update the decoration size here
101
* since the shadow size might have changed and
102
* in that case the decoration will be redrawn,
103
* however if the shadow size doesn't change
104
* then we need to redraw the decoration anyways
105
* since the image would have changed */
106
- if (!update_window_decoration_size (d->win))
107
+ if (!update_window_decoration_size (d->win) && d->decorated)
108
queue_decor_draw (d);
111
@@ -649,24 +655,26 @@
113
d->active = wnck_window_is_active (win);
115
+ decor_frame_t *frame = d->decorated ? d->frame : gwd_get_decor_frame (get_frame_type (win));
117
if ((d->state & META_MAXIMIZED) == META_MAXIMIZED)
119
if (!d->frame_window)
123
- d->context = &d->frame->max_window_context_active;
124
- d->shadow = d->frame->max_border_shadow_active;
125
+ d->context = &frame->max_window_context_active;
126
+ d->shadow = frame->max_border_shadow_active;
130
- d->context = &d->frame->max_window_context_inactive;
131
- d->shadow = d->frame->max_border_shadow_inactive;
132
+ d->context = &frame->max_window_context_inactive;
133
+ d->shadow = frame->max_border_shadow_inactive;
138
- d->shadow = d->frame->max_border_no_shadow;
139
+ d->shadow = frame->max_border_no_shadow;
143
@@ -675,28 +683,31 @@
147
- d->context = &d->frame->window_context_active;
148
- d->shadow = d->frame->border_shadow_active;
149
+ d->context = &frame->window_context_active;
150
+ d->shadow = frame->border_shadow_active;
154
- d->context = &d->frame->window_context_inactive;
155
- d->shadow = d->frame->border_shadow_inactive;
156
+ d->context = &frame->window_context_inactive;
157
+ d->shadow = frame->border_shadow_inactive;
162
- d->shadow = d->frame->border_no_shadow;
163
+ d->shadow = frame->border_no_shadow;
168
+ gwd_decor_frame_unref (frame);
170
/* We need to update the decoration size here
171
* since the shadow size might have changed and
172
* in that case the decoration will be redrawn,
173
* however if the shadow size doesn't change
174
* then we need to redraw the decoration anyways
175
* since the image would have changed */
176
- if (!update_window_decoration_size (d->win))
177
+ if (!update_window_decoration_size (d->win) && d->decorated)
178
queue_decor_draw (d);