1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
|
--- trunk/src/core/window-props.c 2009/03/11 14:21:33 4190
+++ trunk/src/core/window-props.c 2009/03/12 01:09:41 4191
@@ -73,12 +73,6 @@
ReloadValueFunc reload_func;
} MetaWindowPropHooks;
-static void init_prop_value (MetaDisplay *display,
- Atom property,
- MetaPropValue *value);
-static void reload_prop_value (MetaWindow *window,
- MetaPropValue *value,
- gboolean initial);
static MetaWindowPropHooks* find_hooks (MetaDisplay *display,
Atom property);
@@ -128,23 +122,34 @@
g_return_if_fail (n_properties > 0);
values = g_new0 (MetaPropValue, n_properties);
-
- i = 0;
- while (i < n_properties)
+
+ for (i=0; i<n_properties; i++)
{
- init_prop_value (window->display, properties[i], &values[i]);
- ++i;
+ MetaWindowPropHooks *hooks = find_hooks (window->display,
+ properties[i]);
+
+ if (!hooks || hooks->type == META_PROP_VALUE_INVALID)
+ {
+ values[i].type = META_PROP_VALUE_INVALID;
+ values[i].atom = None;
+ }
+ else
+ {
+ values[i].type = hooks->type;
+ values[i].atom = properties[i];
+ }
}
meta_prop_get_values (window->display, xwindow,
values, n_properties);
- i = 0;
- while (i < n_properties)
+ for (i=0; i<n_properties; i++)
{
- reload_prop_value (window, &values[i], initial);
-
- ++i;
+ MetaWindowPropHooks *hooks = find_hooks (window->display,
+ properties[i]);
+
+ if (hooks && hooks->reload_func != NULL)
+ (* hooks->reload_func) (window, &values[i], initial);
}
meta_prop_free_values (values, n_properties);
@@ -152,37 +157,6 @@
g_free (values);
}
-/* Fill in the MetaPropValue used to get the value of "property" */
-static void
-init_prop_value (MetaDisplay *display,
- Atom property,
- MetaPropValue *value)
-{
- MetaWindowPropHooks *hooks = find_hooks (display, property);
-
- if (!hooks || hooks->type == META_PROP_VALUE_INVALID)
- {
- value->type = META_PROP_VALUE_INVALID;
- value->atom = None;
- }
- else
- {
- value->type = hooks->type;
- value->atom = property;
- }
-}
-
-static void
-reload_prop_value (MetaWindow *window,
- MetaPropValue *value,
- gboolean initial)
-{
- MetaWindowPropHooks *hooks = find_hooks (window->display, value->atom);
-
- if (hooks && hooks->reload_func != NULL)
- (* hooks->reload_func) (window, value, initial);
-}
-
static void
reload_wm_client_machine (MetaWindow *window,
MetaPropValue *value,
@@ -1566,6 +1540,9 @@
display->prop_hooks_table = NULL;
}
+/**
+ * Finds the hooks for a particular property.
+ */
static MetaWindowPropHooks*
find_hooks (MetaDisplay *display,
Atom property)
|