Merge lp:~jjardon/overlay-scrollbar/ayatana-scrollbar into lp:overlay-scrollbar
- ayatana-scrollbar
- Merge into trunk
Proposed by
Javier Jardón
Status: | Merged |
---|---|
Merged at revision: | 155 |
Proposed branch: | lp:~jjardon/overlay-scrollbar/ayatana-scrollbar |
Merge into: | lp:overlay-scrollbar |
Diff against target: |
697 lines (+117/-77) 5 files modified
os/os-pager.c (+13/-14) os/os-private.h (+6/-0) os/os-scrollbar.c (+64/-48) os/os-scrollbar.h (+3/-0) os/os-thumb.c (+31/-15) |
To merge this branch: | bzr merge lp:~jjardon/overlay-scrollbar/ayatana-scrollbar |
Related bugs: |
Reviewer | Review Type | Date Requested | Status |
---|---|---|---|
Andrea Cimitan | Approve | ||
Review via email:
|
Commit message
Description of the change
Little performance optimizations: Do not use G_TYPE_
To post a comment you must log in.
Preview Diff
[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1 | === modified file 'os/os-pager.c' |
2 | --- os/os-pager.c 2011-03-09 18:05:48 +0000 |
3 | +++ os/os-pager.c 2011-03-14 16:04:37 +0000 |
4 | @@ -28,10 +28,6 @@ |
5 | #include <gdk/gdkx.h> |
6 | #include "os-private.h" |
7 | |
8 | -#define OS_PAGER_GET_PRIVATE(obj) \ |
9 | - (G_TYPE_INSTANCE_GET_PRIVATE ((obj), OS_TYPE_PAGER, OsPagerPrivate)) |
10 | - |
11 | -typedef struct _OsPagerPrivate OsPagerPrivate; |
12 | |
13 | struct _OsPagerPrivate { |
14 | GdkWindow *pager_window; |
15 | @@ -59,7 +55,7 @@ |
16 | { |
17 | OsPagerPrivate *priv; |
18 | |
19 | - priv = OS_PAGER_GET_PRIVATE (pager); |
20 | + priv = pager->priv; |
21 | |
22 | if (priv->pager_window != NULL) |
23 | { |
24 | @@ -95,7 +91,7 @@ |
25 | OsPagerPrivate *priv; |
26 | GtkStyle *style; |
27 | |
28 | - priv = OS_PAGER_GET_PRIVATE (pager); |
29 | + priv = pager->priv; |
30 | |
31 | style = gtk_widget_get_style (priv->parent); |
32 | |
33 | @@ -113,7 +109,7 @@ |
34 | GdkBitmap *bitmap; |
35 | OsPagerPrivate *priv; |
36 | |
37 | - priv = OS_PAGER_GET_PRIVATE (pager); |
38 | + priv = pager->priv; |
39 | |
40 | bitmap = gdk_pixmap_new (NULL, MAX (1, priv->mask.width), |
41 | MAX (1, priv->mask.height), 1); |
42 | @@ -169,7 +165,10 @@ |
43 | GdkRectangle allocation, mask; |
44 | OsPagerPrivate *priv; |
45 | |
46 | - priv = OS_PAGER_GET_PRIVATE (pager); |
47 | + pager->priv = G_TYPE_INSTANCE_GET_PRIVATE (pager, |
48 | + OS_TYPE_PAGER, |
49 | + OsPagerPrivate); |
50 | + priv = pager->priv; |
51 | |
52 | allocation.x = 0; |
53 | allocation.y = 0; |
54 | @@ -229,7 +228,7 @@ |
55 | |
56 | g_return_if_fail (OS_PAGER (pager)); |
57 | |
58 | - priv = OS_PAGER_GET_PRIVATE (pager); |
59 | + priv = pager->priv; |
60 | |
61 | priv->visible = FALSE; |
62 | |
63 | @@ -254,7 +253,7 @@ |
64 | |
65 | g_return_if_fail (OS_PAGER (pager)); |
66 | |
67 | - priv = OS_PAGER_GET_PRIVATE (pager); |
68 | + priv = pager->priv; |
69 | |
70 | priv->mask = mask; |
71 | |
72 | @@ -279,7 +278,7 @@ |
73 | |
74 | g_return_if_fail (OS_PAGER (pager)); |
75 | |
76 | - priv = OS_PAGER_GET_PRIVATE (pager); |
77 | + priv = pager->priv; |
78 | |
79 | if (priv->active != active) |
80 | { |
81 | @@ -307,7 +306,7 @@ |
82 | |
83 | g_return_if_fail (OS_PAGER (pager)); |
84 | |
85 | - priv = OS_PAGER_GET_PRIVATE (pager); |
86 | + priv = pager->priv; |
87 | |
88 | if (priv->parent != NULL) |
89 | { |
90 | @@ -348,7 +347,7 @@ |
91 | |
92 | g_return_if_fail (OS_PAGER (pager)); |
93 | |
94 | - priv = OS_PAGER_GET_PRIVATE (pager); |
95 | + priv = pager->priv; |
96 | |
97 | priv->visible = TRUE; |
98 | |
99 | @@ -373,7 +372,7 @@ |
100 | |
101 | g_return_if_fail (OS_PAGER (pager)); |
102 | |
103 | - priv = OS_PAGER_GET_PRIVATE (pager); |
104 | + priv = pager->priv; |
105 | |
106 | priv->allocation = rectangle; |
107 | |
108 | |
109 | === modified file 'os/os-private.h' |
110 | --- os/os-private.h 2011-03-08 11:35:48 +0000 |
111 | +++ os/os-private.h 2011-03-14 16:04:37 +0000 |
112 | @@ -104,10 +104,13 @@ |
113 | (G_TYPE_INSTANCE_GET_CLASS ((obj), OS_TYPE_THUMB, OsThumbClass)) |
114 | |
115 | typedef struct _OsThumb OsThumb; |
116 | +typedef struct _OsThumbPrivate OsThumbPrivate; |
117 | typedef struct _OsThumbClass OsThumbClass; |
118 | |
119 | struct _OsThumb { |
120 | GtkWindow parent_object; |
121 | + |
122 | + OsThumbPrivate *priv; |
123 | }; |
124 | |
125 | struct _OsThumbClass { |
126 | @@ -133,10 +136,13 @@ |
127 | (G_TYPE_INSTANCE_GET_CLASS ((obj), OS_TYPE_PAGER, OsPagerClass)) |
128 | |
129 | typedef struct _OsPager OsPager; |
130 | +typedef struct _OsPagerPrivate OsPagerPrivate; |
131 | typedef struct _OsPagerClass OsPagerClass; |
132 | |
133 | struct _OsPager { |
134 | GObject parent_instance; |
135 | + |
136 | + OsPagerPrivate *priv; |
137 | }; |
138 | |
139 | struct _OsPagerClass { |
140 | |
141 | === modified file 'os/os-scrollbar.c' |
142 | --- os/os-scrollbar.c 2011-03-11 11:17:56 +0000 |
143 | +++ os/os-scrollbar.c 2011-03-14 16:04:37 +0000 |
144 | @@ -41,11 +41,6 @@ |
145 | /* Timeout before hiding in milliseconds. */ |
146 | #define TIMEOUT_HIDE 1000 |
147 | |
148 | -#define OS_SCROLLBAR_GET_PRIVATE(obj) \ |
149 | - (G_TYPE_INSTANCE_GET_PRIVATE ((obj), OS_TYPE_SCROLLBAR, OsScrollbarPrivate)) |
150 | - |
151 | -typedef struct _OsScrollbarPrivate OsScrollbarPrivate; |
152 | - |
153 | struct _OsScrollbarPrivate |
154 | { |
155 | GdkRectangle trough; |
156 | @@ -178,7 +173,7 @@ |
157 | { |
158 | OsScrollbarPrivate *priv; |
159 | |
160 | - priv = OS_SCROLLBAR_GET_PRIVATE (scrollbar); |
161 | + priv = scrollbar->priv; |
162 | |
163 | if (priv->orientation == GTK_ORIENTATION_VERTICAL) |
164 | { |
165 | @@ -265,7 +260,7 @@ |
166 | { |
167 | OsScrollbarPrivate *priv; |
168 | |
169 | - priv = OS_SCROLLBAR_GET_PRIVATE (scrollbar); |
170 | + priv = scrollbar->priv; |
171 | |
172 | if (priv->orientation == GTK_ORIENTATION_VERTICAL) |
173 | { |
174 | @@ -325,7 +320,7 @@ |
175 | gint trough_start; |
176 | gint slider_length; |
177 | |
178 | - priv = OS_SCROLLBAR_GET_PRIVATE (scrollbar); |
179 | + priv = scrollbar->priv; |
180 | |
181 | if (priv->orientation == GTK_ORIENTATION_VERTICAL) |
182 | { |
183 | @@ -361,7 +356,7 @@ |
184 | { |
185 | OsScrollbarPrivate *priv; |
186 | |
187 | - priv = OS_SCROLLBAR_GET_PRIVATE (scrollbar); |
188 | + priv = scrollbar->priv; |
189 | |
190 | if (priv->can_hide) |
191 | { |
192 | @@ -391,7 +386,7 @@ |
193 | gint c; |
194 | gdouble new_value; |
195 | |
196 | - priv = OS_SCROLLBAR_GET_PRIVATE (scrollbar); |
197 | + priv = scrollbar->priv; |
198 | |
199 | if (priv->orientation == GTK_ORIENTATION_VERTICAL) |
200 | delta = mouse_y - priv->slide_initial_coordinate; |
201 | @@ -412,7 +407,7 @@ |
202 | { |
203 | OsScrollbarPrivate *priv; |
204 | |
205 | - priv = OS_SCROLLBAR_GET_PRIVATE (scrollbar); |
206 | + priv = scrollbar->priv; |
207 | |
208 | gtk_window_move (GTK_WINDOW (priv->thumb), |
209 | os_scrollbar_sanitize_x (scrollbar, x), |
210 | @@ -423,24 +418,28 @@ |
211 | os_scrollbar_notify_adjustment_cb (GObject *object, |
212 | gpointer user_data) |
213 | { |
214 | + OsScrollbar *scrollbar; |
215 | OsScrollbarPrivate *priv; |
216 | |
217 | - priv = OS_SCROLLBAR_GET_PRIVATE (OS_SCROLLBAR (object)); |
218 | + scrollbar = OS_SCROLLBAR (object); |
219 | + priv = scrollbar->priv; |
220 | |
221 | - os_scrollbar_swap_adjustment (OS_SCROLLBAR (object), gtk_range_get_adjustment (GTK_RANGE (object))); |
222 | + os_scrollbar_swap_adjustment (scrollbar, gtk_range_get_adjustment (GTK_RANGE (object))); |
223 | } |
224 | |
225 | static void |
226 | os_scrollbar_notify_orientation_cb (GObject *object, |
227 | gpointer user_data) |
228 | { |
229 | + OsScrollbar *scrollbar; |
230 | OsScrollbarPrivate *priv; |
231 | |
232 | - priv = OS_SCROLLBAR_GET_PRIVATE (OS_SCROLLBAR (object)); |
233 | + scrollbar = OS_SCROLLBAR (object); |
234 | + priv = scrollbar->priv; |
235 | |
236 | priv->orientation = gtk_orientable_get_orientation (GTK_ORIENTABLE (object)); |
237 | |
238 | - os_scrollbar_swap_thumb (OS_SCROLLBAR (object), os_thumb_new (priv->orientation)); |
239 | + os_scrollbar_swap_thumb (scrollbar, os_thumb_new (priv->orientation)); |
240 | } |
241 | |
242 | static gint |
243 | @@ -450,7 +449,7 @@ |
244 | OsScrollbarPrivate *priv; |
245 | gint screen_width; |
246 | |
247 | - priv = OS_SCROLLBAR_GET_PRIVATE (scrollbar); |
248 | + priv = scrollbar->priv; |
249 | |
250 | /* FIXME we could store screen_width in priv |
251 | * and change it at screen-changed signal */ |
252 | @@ -472,7 +471,7 @@ |
253 | OsScrollbarPrivate *priv; |
254 | gint screen_height; |
255 | |
256 | - priv = OS_SCROLLBAR_GET_PRIVATE (scrollbar); |
257 | + priv = scrollbar->priv; |
258 | |
259 | /* FIXME we could store screen_height in priv |
260 | * and change it at screen-changed signal */ |
261 | @@ -494,7 +493,7 @@ |
262 | OsScrollbarPrivate *priv; |
263 | gint win_x, win_y; |
264 | |
265 | - priv = OS_SCROLLBAR_GET_PRIVATE (scrollbar); |
266 | + priv = scrollbar->priv; |
267 | |
268 | gdk_window_get_position (gtk_widget_get_window (priv->parent), &win_x, &win_y); |
269 | |
270 | @@ -515,7 +514,9 @@ |
271 | os_scrollbar_swap_adjustment (OsScrollbar *scrollbar, |
272 | GtkAdjustment *adjustment) |
273 | { |
274 | - OsScrollbarPrivate *priv = OS_SCROLLBAR_GET_PRIVATE (scrollbar); |
275 | + OsScrollbarPrivate *priv; |
276 | + |
277 | + priv = scrollbar->priv; |
278 | |
279 | if (priv->adjustment != NULL) |
280 | { |
281 | @@ -545,7 +546,9 @@ |
282 | os_scrollbar_swap_parent (OsScrollbar *scrollbar, |
283 | GtkWidget *parent) |
284 | { |
285 | - OsScrollbarPrivate *priv = OS_SCROLLBAR_GET_PRIVATE (scrollbar); |
286 | + OsScrollbarPrivate *priv; |
287 | + |
288 | + priv = scrollbar->priv; |
289 | |
290 | if (priv->parent != NULL) |
291 | { |
292 | @@ -579,7 +582,9 @@ |
293 | os_scrollbar_swap_thumb (OsScrollbar *scrollbar, |
294 | GtkWidget *thumb) |
295 | { |
296 | - OsScrollbarPrivate *priv = OS_SCROLLBAR_GET_PRIVATE (scrollbar); |
297 | + OsScrollbarPrivate *priv; |
298 | + |
299 | + priv = scrollbar->priv; |
300 | |
301 | if (priv->thumb != NULL) |
302 | { |
303 | @@ -629,7 +634,7 @@ |
304 | OsScrollbarPrivate *priv; |
305 | |
306 | scrollbar = OS_SCROLLBAR (user_data); |
307 | - priv = OS_SCROLLBAR_GET_PRIVATE (OS_SCROLLBAR (scrollbar)); |
308 | + priv = scrollbar->priv; |
309 | |
310 | /* os_scrollbar_map (widget);*/ |
311 | gtk_window_set_transient_for (GTK_WINDOW (widget), GTK_WINDOW (gtk_widget_get_toplevel (priv->parent))); |
312 | @@ -672,7 +677,7 @@ |
313 | OsScrollbarPrivate *priv; |
314 | |
315 | scrollbar = OS_SCROLLBAR (user_data); |
316 | - priv = OS_SCROLLBAR_GET_PRIVATE (OS_SCROLLBAR (scrollbar)); |
317 | + priv = scrollbar->priv; |
318 | |
319 | gtk_window_set_transient_for (GTK_WINDOW (widget), NULL); |
320 | |
321 | @@ -715,7 +720,7 @@ |
322 | OsScrollbarPrivate *priv; |
323 | |
324 | scrollbar = OS_SCROLLBAR (user_data); |
325 | - priv = OS_SCROLLBAR_GET_PRIVATE (OS_SCROLLBAR (scrollbar)); |
326 | + priv = scrollbar->priv; |
327 | |
328 | priv->enter_notify_event = TRUE; |
329 | priv->can_hide = FALSE; |
330 | @@ -732,7 +737,7 @@ |
331 | OsScrollbarPrivate *priv; |
332 | |
333 | scrollbar = OS_SCROLLBAR (user_data); |
334 | - priv = OS_SCROLLBAR_GET_PRIVATE (OS_SCROLLBAR (scrollbar)); |
335 | + priv = scrollbar->priv; |
336 | |
337 | if (!priv->button_press_event) |
338 | priv->can_hide = TRUE; |
339 | @@ -752,7 +757,7 @@ |
340 | OsScrollbarPrivate *priv; |
341 | |
342 | scrollbar = OS_SCROLLBAR (user_data); |
343 | - priv = OS_SCROLLBAR_GET_PRIVATE (OS_SCROLLBAR (scrollbar)); |
344 | + priv = scrollbar->priv; |
345 | |
346 | /* XXX improve speed by not rendering when moving */ |
347 | if (priv->button_press_event) |
348 | @@ -850,7 +855,7 @@ |
349 | GdkRectangle mask; |
350 | OsScrollbarPrivate *priv; |
351 | |
352 | - priv = OS_SCROLLBAR_GET_PRIVATE (scrollbar); |
353 | + priv = scrollbar->priv; |
354 | |
355 | if (priv->orientation == GTK_ORIENTATION_VERTICAL) |
356 | { |
357 | @@ -877,7 +882,7 @@ |
358 | GdkRectangle rect; |
359 | OsScrollbarPrivate *priv; |
360 | |
361 | - priv = OS_SCROLLBAR_GET_PRIVATE (scrollbar); |
362 | + priv = scrollbar->priv; |
363 | |
364 | if (priv->orientation == GTK_ORIENTATION_VERTICAL) |
365 | { |
366 | @@ -902,7 +907,7 @@ |
367 | { |
368 | OsScrollbarPrivate *priv; |
369 | |
370 | - priv = OS_SCROLLBAR_GET_PRIVATE (scrollbar); |
371 | + priv = scrollbar->priv; |
372 | |
373 | if (gdk_screen_get_active_window (gtk_widget_get_screen (priv->parent)) != |
374 | gtk_widget_get_window (priv->parent)) |
375 | @@ -919,7 +924,7 @@ |
376 | OsScrollbarPrivate *priv; |
377 | |
378 | scrollbar = OS_SCROLLBAR (user_data); |
379 | - priv = OS_SCROLLBAR_GET_PRIVATE (scrollbar); |
380 | + priv = scrollbar->priv; |
381 | |
382 | /* FIXME(Cimi) we should control each time os_pager_show()/hide() |
383 | * is called here and in map()/unmap(). |
384 | @@ -949,7 +954,7 @@ |
385 | OsScrollbarPrivate *priv; |
386 | |
387 | scrollbar = OS_SCROLLBAR (user_data); |
388 | - priv = OS_SCROLLBAR_GET_PRIVATE (scrollbar); |
389 | + priv = scrollbar->priv; |
390 | |
391 | os_scrollbar_calc_layout_pager (scrollbar, adjustment->value); |
392 | os_scrollbar_calc_layout_slider (scrollbar, adjustment->value); |
393 | @@ -968,7 +973,7 @@ |
394 | OsScrollbarPrivate *priv; |
395 | |
396 | scrollbar = OS_SCROLLBAR (user_data); |
397 | - priv = OS_SCROLLBAR_GET_PRIVATE (scrollbar); |
398 | + priv = scrollbar->priv; |
399 | |
400 | if (priv->filter == FALSE && priv->proximity == TRUE) |
401 | { |
402 | @@ -997,7 +1002,7 @@ |
403 | OsScrollbarPrivate *priv; |
404 | |
405 | scrollbar = OS_SCROLLBAR (user_data); |
406 | - priv = OS_SCROLLBAR_GET_PRIVATE (scrollbar); |
407 | + priv = scrollbar->priv; |
408 | |
409 | priv->trough.x = 0; |
410 | priv->trough.y = 0; |
411 | @@ -1043,7 +1048,7 @@ |
412 | OsScrollbarPrivate *priv; |
413 | |
414 | scrollbar = OS_SCROLLBAR (user_data); |
415 | - priv = OS_SCROLLBAR_GET_PRIVATE (scrollbar); |
416 | + priv = scrollbar->priv; |
417 | |
418 | /* FIXME(Cimi) check if |
419 | * gtk_widget_get_window (priv->parent) and |
420 | @@ -1069,7 +1074,7 @@ |
421 | OsScrollbarPrivate *priv; |
422 | |
423 | scrollbar = OS_SCROLLBAR (user_data); |
424 | - priv = OS_SCROLLBAR_GET_PRIVATE (scrollbar); |
425 | + priv = scrollbar->priv; |
426 | |
427 | gtk_widget_hide (GTK_WIDGET (priv->thumb)); |
428 | |
429 | @@ -1101,7 +1106,7 @@ |
430 | |
431 | scrollbar = OS_SCROLLBAR (user_data); |
432 | |
433 | - priv = OS_SCROLLBAR_GET_PRIVATE (scrollbar); |
434 | + priv = scrollbar->priv; |
435 | xevent = gdkxevent; |
436 | |
437 | g_return_val_if_fail (priv->parent != NULL, GDK_FILTER_CONTINUE); |
438 | @@ -1222,7 +1227,7 @@ |
439 | OsScrollbarPrivate *priv; |
440 | |
441 | scrollbar = OS_SCROLLBAR (user_data); |
442 | - priv = OS_SCROLLBAR_GET_PRIVATE (scrollbar); |
443 | + priv = scrollbar->priv; |
444 | |
445 | g_timeout_add (TIMEOUT_HIDE, os_scrollbar_hide_thumb_cb, |
446 | g_object_ref (scrollbar)); |
447 | @@ -1263,7 +1268,10 @@ |
448 | { |
449 | OsScrollbarPrivate *priv; |
450 | |
451 | - priv = OS_SCROLLBAR_GET_PRIVATE (scrollbar); |
452 | + scrollbar->priv = G_TYPE_INSTANCE_GET_PRIVATE (scrollbar, |
453 | + OS_TYPE_SCROLLBAR, |
454 | + OsScrollbarPrivate); |
455 | + priv = scrollbar->priv; |
456 | |
457 | priv->can_hide = TRUE; |
458 | priv->can_rgba = FALSE; |
459 | @@ -1289,11 +1297,15 @@ |
460 | static void |
461 | os_scrollbar_finalize (GObject *object) |
462 | { |
463 | - OsScrollbarPrivate *priv = OS_SCROLLBAR_GET_PRIVATE (object); |
464 | - |
465 | - os_scrollbar_swap_adjustment (OS_SCROLLBAR (object), NULL); |
466 | - os_scrollbar_swap_parent (OS_SCROLLBAR (object), NULL); |
467 | - os_scrollbar_swap_thumb (OS_SCROLLBAR (object), NULL); |
468 | + OsScrollbar *scrollbar; |
469 | + OsScrollbarPrivate *priv; |
470 | + |
471 | + scrollbar = OS_SCROLLBAR (object); |
472 | + priv = scrollbar->priv; |
473 | + |
474 | + os_scrollbar_swap_adjustment (scrollbar, NULL); |
475 | + os_scrollbar_swap_parent (scrollbar, NULL); |
476 | + os_scrollbar_swap_thumb (scrollbar, NULL); |
477 | |
478 | if (priv->pager != NULL) |
479 | { |
480 | @@ -1320,15 +1332,17 @@ |
481 | static void |
482 | os_scrollbar_map (GtkWidget *widget) |
483 | { |
484 | + OsScrollbar *scrollbar; |
485 | OsScrollbarPrivate *priv; |
486 | |
487 | - priv = OS_SCROLLBAR_GET_PRIVATE (OS_SCROLLBAR (widget)); |
488 | + scrollbar = OS_SCROLLBAR (widget); |
489 | + priv = scrollbar->priv; |
490 | |
491 | GTK_WIDGET_CLASS (os_scrollbar_parent_class)->map (widget); |
492 | |
493 | priv->proximity = TRUE; |
494 | |
495 | - pager_set_state (OS_SCROLLBAR (widget)); |
496 | + pager_set_state (scrollbar); |
497 | |
498 | if (priv->fullsize == FALSE) |
499 | os_pager_show (OS_PAGER (priv->pager)); |
500 | @@ -1336,7 +1350,7 @@ |
501 | if (gtk_widget_get_realized (priv->parent) && priv->filter == FALSE) |
502 | { |
503 | priv->filter = TRUE; |
504 | - gdk_window_add_filter (gtk_widget_get_window (priv->parent), toplevel_filter_func, OS_SCROLLBAR (widget)); |
505 | + gdk_window_add_filter (gtk_widget_get_window (priv->parent), toplevel_filter_func, scrollbar); |
506 | } |
507 | |
508 | #if 0 |
509 | @@ -1411,9 +1425,11 @@ |
510 | static void |
511 | os_scrollbar_unmap (GtkWidget *widget) |
512 | { |
513 | + OsScrollbar *scrollbar; |
514 | OsScrollbarPrivate *priv; |
515 | |
516 | - priv = OS_SCROLLBAR_GET_PRIVATE (OS_SCROLLBAR (widget)); |
517 | + scrollbar = OS_SCROLLBAR (widget); |
518 | + priv = scrollbar->priv; |
519 | |
520 | GTK_WIDGET_CLASS (os_scrollbar_parent_class)->unmap (widget); |
521 | |
522 | @@ -1424,7 +1440,7 @@ |
523 | if (gtk_widget_get_realized (priv->parent) && priv->filter == TRUE) |
524 | { |
525 | priv->filter = FALSE; |
526 | - gdk_window_remove_filter (gtk_widget_get_window (priv->parent), toplevel_filter_func, OS_SCROLLBAR (widget)); |
527 | + gdk_window_remove_filter (gtk_widget_get_window (priv->parent), toplevel_filter_func, scrollbar); |
528 | } |
529 | } |
530 | |
531 | |
532 | === modified file 'os/os-scrollbar.h' |
533 | --- os/os-scrollbar.h 2011-03-02 15:29:56 +0000 |
534 | +++ os/os-scrollbar.h 2011-03-14 16:04:37 +0000 |
535 | @@ -44,10 +44,13 @@ |
536 | (G_TYPE_INSTANCE_GET_CLASS ((obj), OS_TYPE_SCROLLBAR, OsScrollbarClass)) |
537 | |
538 | typedef struct _OsScrollbar OsScrollbar; |
539 | +typedef struct _OsScrollbarPrivate OsScrollbarPrivate; |
540 | typedef struct _OsScrollbarClass OsScrollbarClass; |
541 | |
542 | struct _OsScrollbar { |
543 | GtkScrollbar parent_object; |
544 | + |
545 | + OsScrollbarPrivate *priv; |
546 | }; |
547 | |
548 | struct _OsScrollbarClass { |
549 | |
550 | === modified file 'os/os-thumb.c' |
551 | --- os/os-thumb.c 2011-03-03 18:02:45 +0000 |
552 | +++ os/os-thumb.c 2011-03-14 16:04:37 +0000 |
553 | @@ -30,11 +30,6 @@ |
554 | #define DEFAULT_THUMB_WIDTH 15 |
555 | #define DEFAULT_THUMB_HEIGHT 80 |
556 | |
557 | -#define OS_THUMB_GET_PRIVATE(obj) \ |
558 | - (G_TYPE_INSTANCE_GET_PRIVATE ((obj), OS_TYPE_THUMB, OsThumbPrivate)) |
559 | - |
560 | -typedef struct _OsThumbPrivate OsThumbPrivate; |
561 | - |
562 | struct _OsThumbPrivate { |
563 | GtkOrientation orientation; |
564 | gboolean button_press_event; |
565 | @@ -137,7 +132,10 @@ |
566 | { |
567 | OsThumbPrivate *priv; |
568 | |
569 | - priv = OS_THUMB_GET_PRIVATE (thumb); |
570 | + thumb->priv = G_TYPE_INSTANCE_GET_PRIVATE (thumb, |
571 | + OS_TYPE_THUMB, |
572 | + OsThumbPrivate); |
573 | + priv = thumb->priv; |
574 | |
575 | priv->can_hide = TRUE; |
576 | priv->can_rgba = FALSE; |
577 | @@ -178,9 +176,11 @@ |
578 | { |
579 | if (event->button == 1) |
580 | { |
581 | + OsThumb *thumb; |
582 | OsThumbPrivate *priv; |
583 | |
584 | - priv = OS_THUMB_GET_PRIVATE (OS_THUMB (widget)); |
585 | + thumb = OS_THUMB (widget); |
586 | + priv = thumb->priv; |
587 | |
588 | priv->pointer_x = event->x; |
589 | priv->pointer_y = event->y; |
590 | @@ -201,9 +201,11 @@ |
591 | { |
592 | if (event->button == 1) |
593 | { |
594 | + OsThumb *thumb; |
595 | OsThumbPrivate *priv; |
596 | |
597 | - priv = OS_THUMB_GET_PRIVATE (OS_THUMB (widget)); |
598 | + thumb = OS_THUMB (widget); |
599 | + priv = thumb->priv; |
600 | |
601 | priv->button_press_event = FALSE; |
602 | priv->motion_notify_event = FALSE; |
603 | @@ -222,9 +224,11 @@ |
604 | |
605 | if (gdk_screen_is_composited (screen)) |
606 | { |
607 | + OsThumb *thumb; |
608 | OsThumbPrivate *priv; |
609 | |
610 | - priv = OS_THUMB_GET_PRIVATE (OS_THUMB (widget)); |
611 | + thumb = OS_THUMB (widget); |
612 | + priv = thumb->priv; |
613 | |
614 | priv->can_rgba = TRUE; |
615 | } |
616 | @@ -236,9 +240,11 @@ |
617 | os_thumb_enter_notify_event (GtkWidget *widget, |
618 | GdkEventCrossing *event) |
619 | { |
620 | + OsThumb *thumb; |
621 | OsThumbPrivate *priv; |
622 | |
623 | - priv = OS_THUMB_GET_PRIVATE (OS_THUMB (widget)); |
624 | + thumb = OS_THUMB (widget); |
625 | + priv = thumb->priv; |
626 | |
627 | priv->enter_notify_event = TRUE; |
628 | priv->can_hide = FALSE; |
629 | @@ -252,13 +258,15 @@ |
630 | { |
631 | GtkAllocation allocation; |
632 | GtkStateType state_type_down, state_type_up; |
633 | + OsThumb *thumb; |
634 | OsThumbPrivate *priv; |
635 | cairo_pattern_t *pat; |
636 | cairo_t *cr; |
637 | gint x, y, width, height; |
638 | gint radius; |
639 | |
640 | - priv = OS_THUMB_GET_PRIVATE (OS_THUMB (widget)); |
641 | + thumb = OS_THUMB (widget); |
642 | + priv = thumb->priv;; |
643 | |
644 | state_type_down = GTK_STATE_NORMAL; |
645 | state_type_up = GTK_STATE_NORMAL; |
646 | @@ -455,9 +463,11 @@ |
647 | os_thumb_leave_notify_event (GtkWidget *widget, |
648 | GdkEventCrossing *event) |
649 | { |
650 | + OsThumb *thumb; |
651 | OsThumbPrivate *priv; |
652 | |
653 | - priv = OS_THUMB_GET_PRIVATE (OS_THUMB (widget)); |
654 | + thumb = OS_THUMB (widget); |
655 | + priv = thumb->priv; |
656 | |
657 | if (!priv->button_press_event) |
658 | priv->can_hide = TRUE; |
659 | @@ -471,9 +481,11 @@ |
660 | os_thumb_motion_notify_event (GtkWidget *widget, |
661 | GdkEventMotion *event) |
662 | { |
663 | + OsThumb *thumb; |
664 | OsThumbPrivate *priv; |
665 | |
666 | - priv = OS_THUMB_GET_PRIVATE (OS_THUMB (widget)); |
667 | + thumb = OS_THUMB (widget); |
668 | + priv = thumb->priv; |
669 | |
670 | if (priv->button_press_event) |
671 | { |
672 | @@ -521,9 +533,11 @@ |
673 | GValue *value, |
674 | GParamSpec *pspec) |
675 | { |
676 | + OsThumb *thumb; |
677 | OsThumbPrivate *priv; |
678 | |
679 | - priv = OS_THUMB_GET_PRIVATE (OS_THUMB (object)); |
680 | + thumb = OS_THUMB (object); |
681 | + priv = thumb->priv; |
682 | |
683 | switch (prop_id) |
684 | { |
685 | @@ -542,9 +556,11 @@ |
686 | const GValue *value, |
687 | GParamSpec *pspec) |
688 | { |
689 | + OsThumb *thumb; |
690 | OsThumbPrivate *priv; |
691 | |
692 | - priv = OS_THUMB_GET_PRIVATE (OS_THUMB (object)); |
693 | + thumb = OS_THUMB (object); |
694 | + priv = thumb->priv; |
695 | |
696 | switch (prop_id) |
697 | { |
seems fine, approved and thx