Merge lp:~gala-dev/gala/actor-guards into lp:gala

Proposed by Rico Tzschichholz
Status: Merged
Merged at revision: 535
Proposed branch: lp:~gala-dev/gala/actor-guards
Merge into: lp:gala
Diff against target: 159 lines (+35/-22)
7 files modified
plugins/notify/NormalNotification.vala (+8/-5)
src/InternalUtils.vala (+2/-2)
src/Widgets/MonitorClone.vala (+5/-2)
src/Widgets/MultitaskingView.vala (+5/-4)
src/Widgets/WindowSwitcher.vala (+9/-5)
src/WindowListener.vala (+4/-2)
src/WindowManager.vala (+2/-2)
To merge this branch: bzr merge lp:~gala-dev/gala/actor-guards
Reviewer Review Type Date Requested Status
Santiago (community) Approve
Felipe Escoto (community) Approve
Gala developers Pending
Review via email: mp+301990@code.launchpad.net
To post a comment you must log in.
Revision history for this message
Felipe Escoto (philip.scott) wrote :

Fixes the crashes I was having associated with that bug! Thank you :)

review: Approve
Revision history for this message
Santiago (santileortiz) :
review: Approve

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1=== modified file 'plugins/notify/NormalNotification.vala'
2--- plugins/notify/NormalNotification.vala 2015-02-09 22:10:34 +0000
3+++ plugins/notify/NormalNotification.vala 2016-08-04 08:35:39 +0000
4@@ -284,9 +284,9 @@
5
6 // if no default action has been set, we fallback to trying to find a window for the
7 // notification's sender process
8- var window = get_window ();
9+ unowned Meta.Window? window = get_window ();
10 if (window != null) {
11- var workspace = window.get_workspace ();
12+ unowned Meta.Workspace workspace = window.get_workspace ();
13 var time = screen.get_display ().get_current_time ();
14
15 if (workspace != screen.get_active_workspace ())
16@@ -298,13 +298,16 @@
17 }
18 }
19
20- Window? get_window ()
21+ unowned Meta.Window? get_window ()
22 {
23 if (sender_pid == 0)
24 return null;
25
26- foreach (var actor in Compositor.get_window_actors (screen)) {
27- var window = actor.get_meta_window ();
28+ foreach (unowned Meta.WindowActor actor in Meta.Compositor.get_window_actors (screen)) {
29+ if (actor.is_destroyed ())
30+ continue;
31+
32+ unowned Meta.Window window = actor.get_meta_window ();
33
34 // the windows are sorted by stacking order when returned
35 // from meta_get_window_actors, so we can just pick the first
36
37=== modified file 'src/InternalUtils.vala'
38--- src/InternalUtils.vala 2015-03-04 11:29:53 +0000
39+++ src/InternalUtils.vala 2016-08-04 08:35:39 +0000
40@@ -149,8 +149,8 @@
41
42 new_window.change_workspace_by_index (index, false);
43
44- foreach (var actor in actors) {
45- var window = actor.get_meta_window ();
46+ foreach (unowned Meta.WindowActor actor in actors) {
47+ unowned Meta.Window window = actor.get_meta_window ();
48 var window_index = window.get_workspace ().index ();
49
50 if (!window.on_all_workspaces
51
52=== modified file 'src/Widgets/MonitorClone.vala'
53--- src/Widgets/MonitorClone.vala 2015-11-11 19:56:40 +0000
54+++ src/Widgets/MonitorClone.vala 2016-08-04 08:35:39 +0000
55@@ -56,8 +56,11 @@
56 screen.window_entered_monitor.connect (window_entered);
57 screen.window_left_monitor.connect (window_left);
58
59- foreach (var window_actor in Compositor.get_window_actors (screen)) {
60- var window = window_actor.get_meta_window ();
61+ foreach (unowned Meta.WindowActor window_actor in Meta.Compositor.get_window_actors (screen)) {
62+ if (window_actor.is_destroyed ())
63+ continue;
64+
65+ unowned Meta.Window window = window_actor.get_meta_window ();
66 if (window.get_monitor () == monitor) {
67 window_entered (monitor, window);
68 }
69
70=== modified file 'src/Widgets/MultitaskingView.vala'
71--- src/Widgets/MultitaskingView.vala 2016-04-25 12:41:53 +0000
72+++ src/Widgets/MultitaskingView.vala 2016-08-04 08:35:39 +0000
73@@ -504,12 +504,13 @@
74 dock_clones.get_transformed_position (out clone_offset_x, out clone_offset_y);
75
76 if (opening) {
77- unowned List<WindowActor> actors = Compositor.get_window_actors (screen);
78-
79- foreach (var actor in actors) {
80+ foreach (unowned Meta.WindowActor actor in Meta.Compositor.get_window_actors (screen)) {
81 const int MAX_OFFSET = 100;
82
83- var window = actor.get_meta_window ();
84+ if (actor.is_destroyed ())
85+ continue;
86+
87+ unowned Meta.Window window = actor.get_meta_window ();
88 var monitor = window.get_monitor ();
89
90 if (window.window_type != WindowType.DOCK)
91
92=== modified file 'src/Widgets/WindowSwitcher.vala'
93--- src/Widgets/WindowSwitcher.vala 2015-11-11 19:00:26 +0000
94+++ src/Widgets/WindowSwitcher.vala 2016-08-04 08:35:39 +0000
95@@ -430,10 +430,11 @@
96 window_clones.destroy_all_children ();
97
98 // need to go through all the windows because of hidden dialogs
99- unowned List<WindowActor>? window_actors = Compositor.get_window_actors (screen);
100- foreach (var actor in window_actors) {
101- unowned Window window = actor.get_meta_window ();
102+ foreach (unowned Meta.WindowActor actor in Meta.Compositor.get_window_actors (screen)) {
103+ if (actor.is_destroyed ())
104+ continue;
105
106+ unowned Meta.Window window = actor.get_meta_window ();
107 if (window.get_workspace () == workspace
108 && window.showing_on_its_workspace ())
109 actor.show ();
110@@ -620,8 +621,11 @@
111 current_window = (WindowIcon) dock.get_child_at_index (0);
112
113 // hide the others
114- foreach (var actor in Compositor.get_window_actors (screen)) {
115- var window = actor.get_meta_window ();
116+ foreach (unowned Meta.WindowActor actor in Meta.Compositor.get_window_actors (screen)) {
117+ if (actor.is_destroyed ())
118+ continue;
119+
120+ unowned Meta.Window window = actor.get_meta_window ();
121 var type = window.window_type;
122
123 if (type != WindowType.DOCK
124
125=== modified file 'src/WindowListener.vala'
126--- src/WindowListener.vala 2015-11-11 19:56:40 +0000
127+++ src/WindowListener.vala 2016-08-04 08:35:39 +0000
128@@ -36,9 +36,11 @@
129
130 instance = new WindowListener ();
131
132- foreach (var actor in Compositor.get_window_actors (screen)) {
133- var window = actor.get_meta_window ();
134+ foreach (unowned Meta.WindowActor actor in Meta.Compositor.get_window_actors (screen)) {
135+ if (actor.is_destroyed ())
136+ continue;
137
138+ unowned Meta.Window window = actor.get_meta_window ();
139 if (window.window_type == WindowType.NORMAL)
140 instance.monitor_window (window);
141 }
142
143=== modified file 'src/WindowManager.vala'
144--- src/WindowManager.vala 2016-08-03 11:14:55 +0000
145+++ src/WindowManager.vala 2016-08-04 08:35:39 +0000
146@@ -1427,11 +1427,11 @@
147 var docks = new List<WindowActor> ();
148
149 // collect all windows and put them in the appropriate containers
150- foreach (var actor in Compositor.get_window_actors (screen)) {
151+ foreach (unowned Meta.WindowActor actor in Meta.Compositor.get_window_actors (screen)) {
152 if (actor.is_destroyed ())
153 continue;
154
155- var window = actor.get_meta_window ();
156+ unowned Meta.Window window = actor.get_meta_window ();
157
158 if (!window.showing_on_its_workspace () ||
159 (move_primary_only && window.get_monitor () != primary) ||

Subscribers

People subscribed via source and target branches