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
=== modified file 'plugins/notify/NormalNotification.vala'
--- plugins/notify/NormalNotification.vala 2015-02-09 22:10:34 +0000
+++ plugins/notify/NormalNotification.vala 2016-08-04 08:35:39 +0000
@@ -284,9 +284,9 @@
284284
285 // if no default action has been set, we fallback to trying to find a window for the285 // if no default action has been set, we fallback to trying to find a window for the
286 // notification's sender process286 // notification's sender process
287 var window = get_window ();287 unowned Meta.Window? window = get_window ();
288 if (window != null) {288 if (window != null) {
289 var workspace = window.get_workspace ();289 unowned Meta.Workspace workspace = window.get_workspace ();
290 var time = screen.get_display ().get_current_time ();290 var time = screen.get_display ().get_current_time ();
291291
292 if (workspace != screen.get_active_workspace ())292 if (workspace != screen.get_active_workspace ())
@@ -298,13 +298,16 @@
298 }298 }
299 }299 }
300300
301 Window? get_window ()301 unowned Meta.Window? get_window ()
302 {302 {
303 if (sender_pid == 0)303 if (sender_pid == 0)
304 return null;304 return null;
305305
306 foreach (var actor in Compositor.get_window_actors (screen)) {306 foreach (unowned Meta.WindowActor actor in Meta.Compositor.get_window_actors (screen)) {
307 var window = actor.get_meta_window ();307 if (actor.is_destroyed ())
308 continue;
309
310 unowned Meta.Window window = actor.get_meta_window ();
308311
309 // the windows are sorted by stacking order when returned312 // the windows are sorted by stacking order when returned
310 // from meta_get_window_actors, so we can just pick the first313 // from meta_get_window_actors, so we can just pick the first
311314
=== modified file 'src/InternalUtils.vala'
--- src/InternalUtils.vala 2015-03-04 11:29:53 +0000
+++ src/InternalUtils.vala 2016-08-04 08:35:39 +0000
@@ -149,8 +149,8 @@
149149
150 new_window.change_workspace_by_index (index, false);150 new_window.change_workspace_by_index (index, false);
151151
152 foreach (var actor in actors) {152 foreach (unowned Meta.WindowActor actor in actors) {
153 var window = actor.get_meta_window ();153 unowned Meta.Window window = actor.get_meta_window ();
154 var window_index = window.get_workspace ().index ();154 var window_index = window.get_workspace ().index ();
155155
156 if (!window.on_all_workspaces156 if (!window.on_all_workspaces
157157
=== modified file 'src/Widgets/MonitorClone.vala'
--- src/Widgets/MonitorClone.vala 2015-11-11 19:56:40 +0000
+++ src/Widgets/MonitorClone.vala 2016-08-04 08:35:39 +0000
@@ -56,8 +56,11 @@
56 screen.window_entered_monitor.connect (window_entered);56 screen.window_entered_monitor.connect (window_entered);
57 screen.window_left_monitor.connect (window_left);57 screen.window_left_monitor.connect (window_left);
5858
59 foreach (var window_actor in Compositor.get_window_actors (screen)) {59 foreach (unowned Meta.WindowActor window_actor in Meta.Compositor.get_window_actors (screen)) {
60 var window = window_actor.get_meta_window ();60 if (window_actor.is_destroyed ())
61 continue;
62
63 unowned Meta.Window window = window_actor.get_meta_window ();
61 if (window.get_monitor () == monitor) {64 if (window.get_monitor () == monitor) {
62 window_entered (monitor, window);65 window_entered (monitor, window);
63 }66 }
6467
=== modified file 'src/Widgets/MultitaskingView.vala'
--- src/Widgets/MultitaskingView.vala 2016-04-25 12:41:53 +0000
+++ src/Widgets/MultitaskingView.vala 2016-08-04 08:35:39 +0000
@@ -504,12 +504,13 @@
504 dock_clones.get_transformed_position (out clone_offset_x, out clone_offset_y);504 dock_clones.get_transformed_position (out clone_offset_x, out clone_offset_y);
505505
506 if (opening) {506 if (opening) {
507 unowned List<WindowActor> actors = Compositor.get_window_actors (screen);507 foreach (unowned Meta.WindowActor actor in Meta.Compositor.get_window_actors (screen)) {
508
509 foreach (var actor in actors) {
510 const int MAX_OFFSET = 100;508 const int MAX_OFFSET = 100;
511509
512 var window = actor.get_meta_window ();510 if (actor.is_destroyed ())
511 continue;
512
513 unowned Meta.Window window = actor.get_meta_window ();
513 var monitor = window.get_monitor ();514 var monitor = window.get_monitor ();
514515
515 if (window.window_type != WindowType.DOCK)516 if (window.window_type != WindowType.DOCK)
516517
=== modified file 'src/Widgets/WindowSwitcher.vala'
--- src/Widgets/WindowSwitcher.vala 2015-11-11 19:00:26 +0000
+++ src/Widgets/WindowSwitcher.vala 2016-08-04 08:35:39 +0000
@@ -430,10 +430,11 @@
430 window_clones.destroy_all_children ();430 window_clones.destroy_all_children ();
431431
432 // need to go through all the windows because of hidden dialogs432 // need to go through all the windows because of hidden dialogs
433 unowned List<WindowActor>? window_actors = Compositor.get_window_actors (screen);433 foreach (unowned Meta.WindowActor actor in Meta.Compositor.get_window_actors (screen)) {
434 foreach (var actor in window_actors) {434 if (actor.is_destroyed ())
435 unowned Window window = actor.get_meta_window ();435 continue;
436436
437 unowned Meta.Window window = actor.get_meta_window ();
437 if (window.get_workspace () == workspace438 if (window.get_workspace () == workspace
438 && window.showing_on_its_workspace ())439 && window.showing_on_its_workspace ())
439 actor.show ();440 actor.show ();
@@ -620,8 +621,11 @@
620 current_window = (WindowIcon) dock.get_child_at_index (0);621 current_window = (WindowIcon) dock.get_child_at_index (0);
621622
622 // hide the others623 // hide the others
623 foreach (var actor in Compositor.get_window_actors (screen)) {624 foreach (unowned Meta.WindowActor actor in Meta.Compositor.get_window_actors (screen)) {
624 var window = actor.get_meta_window ();625 if (actor.is_destroyed ())
626 continue;
627
628 unowned Meta.Window window = actor.get_meta_window ();
625 var type = window.window_type;629 var type = window.window_type;
626630
627 if (type != WindowType.DOCK631 if (type != WindowType.DOCK
628632
=== modified file 'src/WindowListener.vala'
--- src/WindowListener.vala 2015-11-11 19:56:40 +0000
+++ src/WindowListener.vala 2016-08-04 08:35:39 +0000
@@ -36,9 +36,11 @@
3636
37 instance = new WindowListener ();37 instance = new WindowListener ();
3838
39 foreach (var actor in Compositor.get_window_actors (screen)) {39 foreach (unowned Meta.WindowActor actor in Meta.Compositor.get_window_actors (screen)) {
40 var window = actor.get_meta_window ();40 if (actor.is_destroyed ())
41 continue;
4142
43 unowned Meta.Window window = actor.get_meta_window ();
42 if (window.window_type == WindowType.NORMAL)44 if (window.window_type == WindowType.NORMAL)
43 instance.monitor_window (window);45 instance.monitor_window (window);
44 }46 }
4547
=== modified file 'src/WindowManager.vala'
--- src/WindowManager.vala 2016-08-03 11:14:55 +0000
+++ src/WindowManager.vala 2016-08-04 08:35:39 +0000
@@ -1427,11 +1427,11 @@
1427 var docks = new List<WindowActor> ();1427 var docks = new List<WindowActor> ();
14281428
1429 // collect all windows and put them in the appropriate containers1429 // collect all windows and put them in the appropriate containers
1430 foreach (var actor in Compositor.get_window_actors (screen)) {1430 foreach (unowned Meta.WindowActor actor in Meta.Compositor.get_window_actors (screen)) {
1431 if (actor.is_destroyed ())1431 if (actor.is_destroyed ())
1432 continue;1432 continue;
14331433
1434 var window = actor.get_meta_window ();1434 unowned Meta.Window window = actor.get_meta_window ();
14351435
1436 if (!window.showing_on_its_workspace () ||1436 if (!window.showing_on_its_workspace () ||
1437 (move_primary_only && window.get_monitor () != primary) ||1437 (move_primary_only && window.get_monitor () != primary) ||

Subscribers

People subscribed via source and target branches