Merge lp:~unity-team/bamf/x-sru2 into lp:bamf/xenial
- x-sru2
- Merge into xenial
Proposed by
Marco Trevisan (Treviño)
Status: | Merged |
---|---|
Approved by: | Andrea Azzarone |
Approved revision: | no longer in the source branch. |
Merged at revision: | 637 |
Proposed branch: | lp:~unity-team/bamf/x-sru2 |
Merge into: | lp:bamf/xenial |
Diff against target: |
370 lines (+134/-19) 9 files modified
debian/bamfdaemon.triggers (+2/-2) debian/changelog (+15/-0) src/bamf-control.c (+1/-1) src/bamf-legacy-screen.c (+3/-3) src/bamf-legacy-window.c (+1/-1) src/bamf-matcher.c (+62/-8) src/bamf-matcher.h (+1/-0) src/bamf-view.c (+44/-3) src/bamf-view.h (+5/-1) |
To merge this branch: | bzr merge lp:~unity-team/bamf/x-sru2 |
Related bugs: |
Reviewer | Review Type | Date Requested | Status |
---|---|---|---|
Andrea Azzarone (community) | Approve | ||
Review via email: mp+298662@code.launchpad.net |
Commit message
Releasing SRU2 for Xenial
Description of the change
To post a comment you must log in.
Revision history for this message
Sebastien Bacher (seb128) wrote : | # |
lp:~unity-team/bamf/x-sru2
updated
- 637. By CI Train Bot Account
-
* BamfMatcher: allow overriding desktop with the environment var
BAMF_DESKTOP_ FILE_HINT
* Daemon: manually set to complete the startup notification on view
state change (LP: #1582430)
* debian/bamfdaemon. triggers: use interest-noawait (LP: #1589097)
Revision history for this message
Andrea Azzarone (azzar1) : | # |
review:
Approve
Preview Diff
[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1 | === modified file 'debian/bamfdaemon.triggers' | |||
2 | --- debian/bamfdaemon.triggers 2010-05-25 11:06:17 +0000 | |||
3 | +++ debian/bamfdaemon.triggers 2016-06-30 12:10:12 +0000 | |||
4 | @@ -1,2 +1,2 @@ | |||
7 | 1 | interest /usr/share/applications | 1 | interest-noawait /usr/share/applications |
8 | 2 | interest gmenucache | 2 | interest-noawait gmenucache |
9 | 3 | 3 | ||
10 | === modified file 'debian/changelog' | |||
11 | --- debian/changelog 2016-05-23 18:05:14 +0000 | |||
12 | +++ debian/changelog 2016-06-30 12:10:12 +0000 | |||
13 | @@ -1,3 +1,18 @@ | |||
14 | 1 | bamf (0.5.3~bzr0+16.04.20160523-0ubuntu2) UNRELEASED; urgency=medium | ||
15 | 2 | |||
16 | 3 | [ Marco Trevisan (Treviño) ] | ||
17 | 4 | * BamfMatcher: allow overriding desktop with the environment var | ||
18 | 5 | BAMF_DESKTOP_FILE_HINT | ||
19 | 6 | |||
20 | 7 | [ Andrea Azzarone ] | ||
21 | 8 | * Daemon: manually set to complete the startup notification on view | ||
22 | 9 | state change (LP: #1582430) | ||
23 | 10 | |||
24 | 11 | [ Marco Trevisan (Treviño) ] | ||
25 | 12 | * debian/bamfdaemon.triggers: use interest-noawait (LP: #1589097) | ||
26 | 13 | |||
27 | 14 | -- Marco Trevisan (Treviño) <mail@3v1n0.net> Wed, 29 Jun 2016 17:57:07 +0200 | ||
28 | 15 | |||
29 | 1 | bamf (0.5.3~bzr0+16.04.20160523-0ubuntu1) xenial; urgency=medium | 16 | bamf (0.5.3~bzr0+16.04.20160523-0ubuntu1) xenial; urgency=medium |
30 | 2 | 17 | ||
31 | 3 | * bamfdaemon-dbus-runner: don't try to start again if already running | 18 | * bamfdaemon-dbus-runner: don't try to start again if already running |
32 | 4 | 19 | ||
33 | === modified file 'src/bamf-control.c' | |||
34 | --- src/bamf-control.c 2016-03-21 15:17:45 +0000 | |||
35 | +++ src/bamf-control.c 2016-06-30 12:10:12 +0000 | |||
36 | @@ -54,7 +54,7 @@ | |||
37 | 54 | g_variant_get_child (parameters, 0, "^&ay", &desktop_file); | 54 | g_variant_get_child (parameters, 0, "^&ay", &desktop_file); |
38 | 55 | g_variant_get_child (parameters, 2, "x", &pid); | 55 | g_variant_get_child (parameters, 2, "x", &pid); |
39 | 56 | 56 | ||
41 | 57 | bamf_matcher_set_starting_desktop_file (matcher, desktop_file, TRUE); | 57 | bamf_matcher_set_starting_desktop_file (matcher, desktop_file, NULL, TRUE); |
42 | 58 | bamf_matcher_register_desktop_file_for_pid (matcher, desktop_file, pid); | 58 | bamf_matcher_register_desktop_file_for_pid (matcher, desktop_file, pid); |
43 | 59 | } | 59 | } |
44 | 60 | 60 | ||
45 | 61 | 61 | ||
46 | === modified file 'src/bamf-legacy-screen.c' | |||
47 | --- src/bamf-legacy-screen.c 2016-03-21 15:21:45 +0000 | |||
48 | +++ src/bamf-legacy-screen.c 2016-06-30 12:10:12 +0000 | |||
49 | @@ -258,7 +258,7 @@ | |||
50 | 258 | { | 258 | { |
51 | 259 | SnStartupSequence *sequence = sn_monitor_event_get_startup_sequence (event); | 259 | SnStartupSequence *sequence = sn_monitor_event_get_startup_sequence (event); |
52 | 260 | const gchar *app_id = sn_startup_sequence_get_application_id (sequence); | 260 | const gchar *app_id = sn_startup_sequence_get_application_id (sequence); |
54 | 261 | g_signal_emit (self, legacy_screen_signals[WINDOW_OPENING], 0, app_id); | 261 | g_signal_emit (self, legacy_screen_signals[WINDOW_OPENING], 0, app_id, sequence); |
55 | 262 | } | 262 | } |
56 | 263 | break; | 263 | break; |
57 | 264 | case SN_MONITOR_EVENT_COMPLETED: | 264 | case SN_MONITOR_EVENT_COMPLETED: |
58 | @@ -477,8 +477,8 @@ | |||
59 | 477 | G_SIGNAL_RUN_FIRST, | 477 | G_SIGNAL_RUN_FIRST, |
60 | 478 | G_STRUCT_OFFSET (BamfLegacyScreenClass, window_opening), | 478 | G_STRUCT_OFFSET (BamfLegacyScreenClass, window_opening), |
61 | 479 | NULL, NULL, NULL, | 479 | NULL, NULL, NULL, |
64 | 480 | G_TYPE_NONE, 1, | 480 | G_TYPE_NONE, 2, |
65 | 481 | G_TYPE_STRING); | 481 | G_TYPE_STRING, G_TYPE_POINTER); |
66 | 482 | 482 | ||
67 | 483 | legacy_screen_signals [WINDOW_OPENING_COMPLETED] = | 483 | legacy_screen_signals [WINDOW_OPENING_COMPLETED] = |
68 | 484 | g_signal_new (BAMF_LEGACY_SCREEN_SIGNAL_WINDOW_OPENING_COMPLETED, | 484 | g_signal_new (BAMF_LEGACY_SCREEN_SIGNAL_WINDOW_OPENING_COMPLETED, |
69 | 485 | 485 | ||
70 | === modified file 'src/bamf-legacy-window.c' | |||
71 | --- src/bamf-legacy-window.c 2016-04-09 02:06:08 +0000 | |||
72 | +++ src/bamf-legacy-window.c 2016-06-30 12:10:12 +0000 | |||
73 | @@ -194,7 +194,7 @@ | |||
74 | 194 | 194 | ||
75 | 195 | pid = bamf_legacy_window_get_pid (self); | 195 | pid = bamf_legacy_window_get_pid (self); |
76 | 196 | 196 | ||
78 | 197 | if (pid <= 0) | 197 | if (pid < 2) |
79 | 198 | return NULL; | 198 | return NULL; |
80 | 199 | 199 | ||
81 | 200 | stat_path = g_strdup_printf ("/proc/%i/status", pid); | 200 | stat_path = g_strdup_printf ("/proc/%i/status", pid); |
82 | 201 | 201 | ||
83 | === modified file 'src/bamf-matcher.c' | |||
84 | --- src/bamf-matcher.c 2016-03-22 13:36:15 +0000 | |||
85 | +++ src/bamf-matcher.c 2016-06-30 12:10:12 +0000 | |||
86 | @@ -30,6 +30,8 @@ | |||
87 | 30 | #include <strings.h> | 30 | #include <strings.h> |
88 | 31 | 31 | ||
89 | 32 | #define BAMF_INDEX_NAME "bamf-2.index" | 32 | #define BAMF_INDEX_NAME "bamf-2.index" |
90 | 33 | #define EXEC_DESKTOP_FILE_OVERRIDE "--desktop_file_hint" | ||
91 | 34 | #define ENV_DESKTOP_FILE_OVERRIDE "BAMF_DESKTOP_FILE_HINT" | ||
92 | 33 | 35 | ||
93 | 34 | G_DEFINE_TYPE (BamfMatcher, bamf_matcher, BAMF_DBUS_TYPE_MATCHER_SKELETON); | 36 | G_DEFINE_TYPE (BamfMatcher, bamf_matcher, BAMF_DBUS_TYPE_MATCHER_SKELETON); |
94 | 35 | #define BAMF_MATCHER_GET_PRIVATE(obj) (G_TYPE_INSTANCE_GET_PRIVATE(obj, \ | 37 | #define BAMF_MATCHER_GET_PRIVATE(obj) (G_TYPE_INSTANCE_GET_PRIVATE(obj, \ |
95 | @@ -79,8 +81,6 @@ | |||
96 | 79 | "com-sun-javaws-Main", "VCLSalFrame" | 81 | "com-sun-javaws-Main", "VCLSalFrame" |
97 | 80 | }; | 82 | }; |
98 | 81 | 83 | ||
99 | 82 | const gchar * EXEC_DESKTOP_FILE_OVERRIDE = "--desktop_file_hint"; | ||
100 | 83 | |||
101 | 84 | static void | 84 | static void |
102 | 85 | on_view_active_changed (BamfView *view, gboolean active, BamfMatcher *matcher) | 85 | on_view_active_changed (BamfView *view, gboolean active, BamfMatcher *matcher) |
103 | 86 | { | 86 | { |
104 | @@ -556,6 +556,49 @@ | |||
105 | 556 | return result; | 556 | return result; |
106 | 557 | } | 557 | } |
107 | 558 | 558 | ||
108 | 559 | char * | ||
109 | 560 | get_env_overridden_desktop_file (guint pid) | ||
110 | 561 | { | ||
111 | 562 | gchar *environ_file; | ||
112 | 563 | gchar *environ; | ||
113 | 564 | gchar *result; | ||
114 | 565 | gsize file_len; | ||
115 | 566 | gint i; | ||
116 | 567 | |||
117 | 568 | if (pid < 2) | ||
118 | 569 | return NULL; | ||
119 | 570 | |||
120 | 571 | environ = NULL; | ||
121 | 572 | result = NULL; | ||
122 | 573 | environ_file = g_strdup_printf ("/proc/%u/environ", pid); | ||
123 | 574 | |||
124 | 575 | if (g_file_get_contents (environ_file, &environ, &file_len, NULL)) | ||
125 | 576 | { | ||
126 | 577 | for (i = 0; i < file_len && environ && environ[i] != '\0'; i += strlen (environ + i) + 1) | ||
127 | 578 | { | ||
128 | 579 | const gchar *var = environ + i; | ||
129 | 580 | |||
130 | 581 | if (g_str_has_prefix (var, ENV_DESKTOP_FILE_OVERRIDE"=")) | ||
131 | 582 | { | ||
132 | 583 | const gchar *file_path; | ||
133 | 584 | file_path = var + sizeof (ENV_DESKTOP_FILE_OVERRIDE); | ||
134 | 585 | |||
135 | 586 | if (g_str_has_suffix (file_path, ".desktop") && | ||
136 | 587 | g_file_test (file_path, G_FILE_TEST_EXISTS|G_FILE_TEST_IS_REGULAR)) | ||
137 | 588 | { | ||
138 | 589 | result = g_strdup (file_path); | ||
139 | 590 | break; | ||
140 | 591 | } | ||
141 | 592 | } | ||
142 | 593 | } | ||
143 | 594 | } | ||
144 | 595 | |||
145 | 596 | g_free (environ); | ||
146 | 597 | g_free (environ_file); | ||
147 | 598 | |||
148 | 599 | return result; | ||
149 | 600 | } | ||
150 | 601 | |||
151 | 559 | static GList * | 602 | static GList * |
152 | 560 | pid_parent_tree (BamfMatcher *self, guint pid) | 603 | pid_parent_tree (BamfMatcher *self, guint pid) |
153 | 561 | { | 604 | { |
154 | @@ -1670,8 +1713,17 @@ | |||
155 | 1670 | g_free (desktop_file); | 1713 | g_free (desktop_file); |
156 | 1671 | } | 1714 | } |
157 | 1672 | } | 1715 | } |
159 | 1673 | else | 1716 | |
160 | 1717 | if (!desktop_files) | ||
161 | 1674 | { | 1718 | { |
162 | 1719 | gint pid = bamf_legacy_window_get_pid (window); | ||
163 | 1720 | desktop_file = get_env_overridden_desktop_file (pid); | ||
164 | 1721 | |||
165 | 1722 | if (desktop_file) | ||
166 | 1723 | { | ||
167 | 1724 | desktop_files = g_list_prepend (desktop_files, desktop_file); | ||
168 | 1725 | } | ||
169 | 1726 | |||
170 | 1675 | const char *exec_string = bamf_legacy_window_get_exec_string (window); | 1727 | const char *exec_string = bamf_legacy_window_get_exec_string (window); |
171 | 1676 | desktop_file = get_exec_overridden_desktop_file (exec_string); | 1728 | desktop_file = get_exec_overridden_desktop_file (exec_string); |
172 | 1677 | 1729 | ||
173 | @@ -1679,7 +1731,8 @@ | |||
174 | 1679 | { | 1731 | { |
175 | 1680 | desktop_files = g_list_prepend (desktop_files, desktop_file); | 1732 | desktop_files = g_list_prepend (desktop_files, desktop_file); |
176 | 1681 | } | 1733 | } |
178 | 1682 | else | 1734 | |
179 | 1735 | if (!desktop_files) | ||
180 | 1683 | { | 1736 | { |
181 | 1684 | app_id = bamf_legacy_window_get_hint (window, _GTK_APPLICATION_ID); | 1737 | app_id = bamf_legacy_window_get_hint (window, _GTK_APPLICATION_ID); |
182 | 1685 | 1738 | ||
183 | @@ -2197,15 +2250,15 @@ | |||
184 | 2197 | } | 2250 | } |
185 | 2198 | 2251 | ||
186 | 2199 | static void | 2252 | static void |
188 | 2200 | handle_window_opening (BamfLegacyScreen *screen, const gchar *desktop_id, BamfMatcher *self) | 2253 | handle_window_opening (BamfLegacyScreen *screen, const gchar *desktop_id, SnStartupSequence *startup_sequence, BamfMatcher *self) |
189 | 2201 | { | 2254 | { |
191 | 2202 | bamf_matcher_set_starting_desktop_file (self, desktop_id, TRUE); | 2255 | bamf_matcher_set_starting_desktop_file (self, desktop_id, startup_sequence, TRUE); |
192 | 2203 | } | 2256 | } |
193 | 2204 | 2257 | ||
194 | 2205 | static void | 2258 | static void |
195 | 2206 | handle_window_opening_finished (BamfLegacyScreen *screen, const gchar *desktop_id, BamfMatcher *self) | 2259 | handle_window_opening_finished (BamfLegacyScreen *screen, const gchar *desktop_id, BamfMatcher *self) |
196 | 2207 | { | 2260 | { |
198 | 2208 | bamf_matcher_set_starting_desktop_file (self, desktop_id, FALSE); | 2261 | bamf_matcher_set_starting_desktop_file (self, desktop_id, NULL, FALSE); |
199 | 2209 | } | 2262 | } |
200 | 2210 | 2263 | ||
201 | 2211 | static void | 2264 | static void |
202 | @@ -2446,6 +2499,7 @@ | |||
203 | 2446 | void | 2499 | void |
204 | 2447 | bamf_matcher_set_starting_desktop_file (BamfMatcher *self, | 2500 | bamf_matcher_set_starting_desktop_file (BamfMatcher *self, |
205 | 2448 | const char *desktop_file, | 2501 | const char *desktop_file, |
206 | 2502 | SnStartupSequence *startup_sequence, | ||
207 | 2449 | gboolean starting) | 2503 | gboolean starting) |
208 | 2450 | { | 2504 | { |
209 | 2451 | BamfApplication *app; | 2505 | BamfApplication *app; |
210 | @@ -2470,7 +2524,7 @@ | |||
211 | 2470 | 2524 | ||
212 | 2471 | if (BAMF_IS_APPLICATION (app)) | 2525 | if (BAMF_IS_APPLICATION (app)) |
213 | 2472 | { | 2526 | { |
215 | 2473 | bamf_view_set_starting (BAMF_VIEW (app), starting); | 2527 | bamf_view_set_starting (BAMF_VIEW (app), startup_sequence, starting); |
216 | 2474 | } | 2528 | } |
217 | 2475 | } | 2529 | } |
218 | 2476 | 2530 | ||
219 | 2477 | 2531 | ||
220 | === modified file 'src/bamf-matcher.h' | |||
221 | --- src/bamf-matcher.h 2016-03-21 15:16:22 +0000 | |||
222 | +++ src/bamf-matcher.h 2016-06-30 12:10:12 +0000 | |||
223 | @@ -76,6 +76,7 @@ | |||
224 | 76 | 76 | ||
225 | 77 | void bamf_matcher_set_starting_desktop_file (BamfMatcher * self, | 77 | void bamf_matcher_set_starting_desktop_file (BamfMatcher * self, |
226 | 78 | const char *desktop_file, | 78 | const char *desktop_file, |
227 | 79 | SnStartupSequence *sequence, | ||
228 | 79 | gboolean starting); | 80 | gboolean starting); |
229 | 80 | 81 | ||
230 | 81 | const char * bamf_matcher_get_desktop_file_class (BamfMatcher * self, | 82 | const char * bamf_matcher_get_desktop_file_class (BamfMatcher * self, |
231 | 82 | 83 | ||
232 | === modified file 'src/bamf-view.c' | |||
233 | --- src/bamf-view.c 2016-03-29 14:52:33 +0000 | |||
234 | +++ src/bamf-view.c 2016-06-30 12:10:12 +0000 | |||
235 | @@ -78,6 +78,8 @@ | |||
236 | 78 | gboolean closed; | 78 | gboolean closed; |
237 | 79 | guint starting_timeout; | 79 | guint starting_timeout; |
238 | 80 | 80 | ||
239 | 81 | SnStartupSequence *startup_sequence; | ||
240 | 82 | |||
241 | 81 | /* FIXME: remove this as soon as we move to properties on library as well */ | 83 | /* FIXME: remove this as soon as we move to properties on library as well */ |
242 | 82 | guint active_changed_idle; | 84 | guint active_changed_idle; |
243 | 83 | }; | 85 | }; |
244 | @@ -115,6 +117,9 @@ | |||
245 | 115 | guint idle = g_idle_add_full (G_PRIORITY_DEFAULT, on_active_changed_idle, view, NULL); | 117 | guint idle = g_idle_add_full (G_PRIORITY_DEFAULT, on_active_changed_idle, view, NULL); |
246 | 116 | view->priv->active_changed_idle = idle; | 118 | view->priv->active_changed_idle = idle; |
247 | 117 | } | 119 | } |
248 | 120 | |||
249 | 121 | if (active) | ||
250 | 122 | bamf_view_set_starting (view, NULL, FALSE); | ||
251 | 118 | } | 123 | } |
252 | 119 | 124 | ||
253 | 120 | static void | 125 | static void |
254 | @@ -152,7 +157,7 @@ | |||
255 | 152 | { | 157 | { |
256 | 153 | BamfView *view = data; | 158 | BamfView *view = data; |
257 | 154 | 159 | ||
259 | 155 | bamf_view_set_starting (view, FALSE); | 160 | bamf_view_set_starting (view, NULL, FALSE); |
260 | 156 | view->priv->starting_timeout = 0; | 161 | view->priv->starting_timeout = 0; |
261 | 157 | 162 | ||
262 | 158 | return FALSE; | 163 | return FALSE; |
263 | @@ -197,7 +202,7 @@ | |||
264 | 197 | g_signal_emit_by_name (view, "running-changed", running); | 202 | g_signal_emit_by_name (view, "running-changed", running); |
265 | 198 | 203 | ||
266 | 199 | if (running) | 204 | if (running) |
268 | 200 | bamf_view_set_starting (view, FALSE); | 205 | bamf_view_set_starting (view, NULL, FALSE); |
269 | 201 | } | 206 | } |
270 | 202 | 207 | ||
271 | 203 | static void | 208 | static void |
272 | @@ -213,6 +218,9 @@ | |||
273 | 213 | 218 | ||
274 | 214 | if (emit) | 219 | if (emit) |
275 | 215 | g_signal_emit_by_name (view, "urgent-changed", urgent); | 220 | g_signal_emit_by_name (view, "urgent-changed", urgent); |
276 | 221 | |||
277 | 222 | if (urgent) | ||
278 | 223 | bamf_view_set_starting (view, NULL, FALSE); | ||
279 | 216 | } | 224 | } |
280 | 217 | 225 | ||
281 | 218 | void | 226 | void |
282 | @@ -480,8 +488,33 @@ | |||
283 | 480 | 488 | ||
284 | 481 | void | 489 | void |
285 | 482 | bamf_view_set_starting (BamfView *view, | 490 | bamf_view_set_starting (BamfView *view, |
286 | 491 | SnStartupSequence *startup_sequence, | ||
287 | 483 | gboolean starting) | 492 | gboolean starting) |
288 | 484 | { | 493 | { |
289 | 494 | if (!bamf_view_is_starting (view) && starting) | ||
290 | 495 | { | ||
291 | 496 | if (view->priv->startup_sequence) | ||
292 | 497 | { | ||
293 | 498 | sn_startup_sequence_unref (view->priv->startup_sequence); | ||
294 | 499 | view->priv->startup_sequence = NULL; | ||
295 | 500 | } | ||
296 | 501 | |||
297 | 502 | if (startup_sequence) | ||
298 | 503 | { | ||
299 | 504 | view->priv->startup_sequence = startup_sequence; | ||
300 | 505 | sn_startup_sequence_ref (view->priv->startup_sequence); | ||
301 | 506 | } | ||
302 | 507 | } | ||
303 | 508 | else if (!starting) | ||
304 | 509 | { | ||
305 | 510 | if (view->priv->startup_sequence) | ||
306 | 511 | { | ||
307 | 512 | sn_startup_sequence_complete (view->priv->startup_sequence); | ||
308 | 513 | sn_startup_sequence_unref (view->priv->startup_sequence); | ||
309 | 514 | view->priv->startup_sequence = NULL; | ||
310 | 515 | } | ||
311 | 516 | } | ||
312 | 517 | |||
313 | 485 | BAMF_VIEW_SET_BOOL_PROPERTY (view, starting); | 518 | BAMF_VIEW_SET_BOOL_PROPERTY (view, starting); |
314 | 486 | } | 519 | } |
315 | 487 | 520 | ||
316 | @@ -581,7 +614,7 @@ | |||
317 | 581 | bamf_view_set_name (view, cache->name); | 614 | bamf_view_set_name (view, cache->name); |
318 | 582 | bamf_view_set_icon (view, cache->icon); | 615 | bamf_view_set_icon (view, cache->icon); |
319 | 583 | bamf_view_set_active (view, cache->active); | 616 | bamf_view_set_active (view, cache->active); |
321 | 584 | bamf_view_set_starting (view, cache->starting); | 617 | bamf_view_set_starting (view, NULL, cache->starting); |
322 | 585 | bamf_view_set_running (view, cache->running); | 618 | bamf_view_set_running (view, cache->running); |
323 | 586 | bamf_view_set_user_visible (view, cache->user_visible); | 619 | bamf_view_set_user_visible (view, cache->user_visible); |
324 | 587 | bamf_view_set_urgent (view, cache->urgent); | 620 | bamf_view_set_urgent (view, cache->urgent); |
325 | @@ -863,6 +896,12 @@ | |||
326 | 863 | priv->active_changed_idle = 0; | 896 | priv->active_changed_idle = 0; |
327 | 864 | } | 897 | } |
328 | 865 | 898 | ||
329 | 899 | if (priv->startup_sequence) | ||
330 | 900 | { | ||
331 | 901 | sn_startup_sequence_unref (priv->startup_sequence); | ||
332 | 902 | priv->startup_sequence = NULL; | ||
333 | 903 | } | ||
334 | 904 | |||
335 | 866 | bamf_view_cached_properties_clear (view); | 905 | bamf_view_cached_properties_clear (view); |
336 | 867 | g_dbus_object_skeleton_flush (G_DBUS_OBJECT_SKELETON (view)); | 906 | g_dbus_object_skeleton_flush (G_DBUS_OBJECT_SKELETON (view)); |
337 | 868 | 907 | ||
338 | @@ -931,6 +970,8 @@ | |||
339 | 931 | self->priv->dbus_iface = _bamf_dbus_item_view_skeleton_new (); | 970 | self->priv->dbus_iface = _bamf_dbus_item_view_skeleton_new (); |
340 | 932 | self->priv->props = g_new0 (BamfViewPropCache, 1); | 971 | self->priv->props = g_new0 (BamfViewPropCache, 1); |
341 | 933 | 972 | ||
342 | 973 | self->priv->startup_sequence = NULL; | ||
343 | 974 | |||
344 | 934 | /* We need to connect to the object own signals to redirect them to the dbus | 975 | /* We need to connect to the object own signals to redirect them to the dbus |
345 | 935 | * interface */ | 976 | * interface */ |
346 | 936 | g_signal_connect (self, "active-changed", G_CALLBACK (on_view_active_changed), NULL); | 977 | g_signal_connect (self, "active-changed", G_CALLBACK (on_view_active_changed), NULL); |
347 | 937 | 978 | ||
348 | === modified file 'src/bamf-view.h' | |||
349 | --- src/bamf-view.h 2016-03-29 14:32:40 +0000 | |||
350 | +++ src/bamf-view.h 2016-06-30 12:10:12 +0000 | |||
351 | @@ -25,6 +25,10 @@ | |||
352 | 25 | #include <glib-object.h> | 25 | #include <glib-object.h> |
353 | 26 | #include <libbamf-private/bamf-private.h> | 26 | #include <libbamf-private/bamf-private.h> |
354 | 27 | 27 | ||
355 | 28 | #define SN_API_NOT_YET_FROZEN | ||
356 | 29 | #include <libsn/sn.h> | ||
357 | 30 | #undef SN_API_NOT_YET_FROZEN | ||
358 | 31 | |||
359 | 28 | #define BAMF_TYPE_VIEW (bamf_view_get_type ()) | 32 | #define BAMF_TYPE_VIEW (bamf_view_get_type ()) |
360 | 29 | #define BAMF_VIEW(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), BAMF_TYPE_VIEW, BamfView)) | 33 | #define BAMF_VIEW(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), BAMF_TYPE_VIEW, BamfView)) |
361 | 30 | #define BAMF_IS_VIEW(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), BAMF_TYPE_VIEW)) | 34 | #define BAMF_IS_VIEW(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), BAMF_TYPE_VIEW)) |
362 | @@ -89,7 +93,7 @@ | |||
363 | 89 | void bamf_view_set_active (BamfView *view, gboolean active); | 93 | void bamf_view_set_active (BamfView *view, gboolean active); |
364 | 90 | 94 | ||
365 | 91 | gboolean bamf_view_is_starting (BamfView *view); | 95 | gboolean bamf_view_is_starting (BamfView *view); |
367 | 92 | void bamf_view_set_starting (BamfView *view, gboolean starting); | 96 | void bamf_view_set_starting (BamfView *view, SnStartupSequence *startup_sequence, gboolean starting); |
368 | 93 | 97 | ||
369 | 94 | gboolean bamf_view_is_running (BamfView *view); | 98 | gboolean bamf_view_is_running (BamfView *view); |
370 | 95 | void bamf_view_set_running (BamfView *view, gboolean running); | 99 | void bamf_view_set_running (BamfView *view, gboolean running); |
Looks fine but the SRU team likes to have rational about changes, is there a bug report corresponding to the first changeset? If not it would be good to at last describe in the changelog in which cases it would be useful