mirror of
https://github.com/elementary/gala.git
synced 2024-12-18 23:02:14 +03:00
Fix crash when using tiling shortcuts (#2040)
Co-authored-by: Danielle Foré <danielle@elementary.io> Co-authored-by: Ryan Kornheisl <ryan@skarva.tech> Co-authored-by: Leonhard <106322251+leolost2605@users.noreply.github.com>
This commit is contained in:
parent
903bc3fd77
commit
0442e96796
@ -97,7 +97,7 @@ namespace Gala {
|
|||||||
#else
|
#else
|
||||||
private Meta.Rectangle old_rect_size_change;
|
private Meta.Rectangle old_rect_size_change;
|
||||||
#endif
|
#endif
|
||||||
private Clutter.Actor latest_window_snapshot;
|
private Clutter.Actor? latest_window_snapshot;
|
||||||
|
|
||||||
private GLib.Settings behavior_settings;
|
private GLib.Settings behavior_settings;
|
||||||
private GLib.Settings new_behavior_settings;
|
private GLib.Settings new_behavior_settings;
|
||||||
@ -1402,13 +1402,13 @@ namespace Gala {
|
|||||||
latest_window_snapshot.restore_easing_state ();
|
latest_window_snapshot.restore_easing_state ();
|
||||||
|
|
||||||
ulong maximize_old_handler_id = 0UL;
|
ulong maximize_old_handler_id = 0UL;
|
||||||
maximize_old_handler_id = latest_window_snapshot.transitions_completed.connect (() => {
|
maximize_old_handler_id = latest_window_snapshot.transitions_completed.connect ((snapshot) => {
|
||||||
latest_window_snapshot.disconnect (maximize_old_handler_id);
|
snapshot.disconnect (maximize_old_handler_id);
|
||||||
latest_window_snapshot.destroy ();
|
snapshot.destroy ();
|
||||||
actor.set_translation (0.0f, 0.0f, 0.0f);
|
actor.set_translation (0.0f, 0.0f, 0.0f);
|
||||||
});
|
});
|
||||||
|
|
||||||
latest_window_snapshot.restore_easing_state ();
|
latest_window_snapshot = null;
|
||||||
|
|
||||||
actor.set_pivot_point (0.0f, 0.0f);
|
actor.set_pivot_point (0.0f, 0.0f);
|
||||||
actor.set_translation (old_rect_size_change.x - ex, old_rect_size_change.y - ey, 0.0f);
|
actor.set_translation (old_rect_size_change.x - ex, old_rect_size_change.y - ey, 0.0f);
|
||||||
@ -1775,11 +1775,13 @@ namespace Gala {
|
|||||||
latest_window_snapshot.restore_easing_state ();
|
latest_window_snapshot.restore_easing_state ();
|
||||||
|
|
||||||
ulong unmaximize_old_handler_id = 0UL;
|
ulong unmaximize_old_handler_id = 0UL;
|
||||||
unmaximize_old_handler_id = latest_window_snapshot.transitions_completed.connect (() => {
|
unmaximize_old_handler_id = latest_window_snapshot.transitions_completed.connect ((snapshot) => {
|
||||||
latest_window_snapshot.disconnect (unmaximize_old_handler_id);
|
snapshot.disconnect (unmaximize_old_handler_id);
|
||||||
latest_window_snapshot.destroy ();
|
snapshot.destroy ();
|
||||||
});
|
});
|
||||||
|
|
||||||
|
latest_window_snapshot = null;
|
||||||
|
|
||||||
actor.set_pivot_point (0.0f, 0.0f);
|
actor.set_pivot_point (0.0f, 0.0f);
|
||||||
actor.set_position (ex, ey);
|
actor.set_position (ex, ey);
|
||||||
actor.set_translation (-ex + offset_x * (1.0f / scale_x - 1.0f) + old_rect_size_change.x, -ey + offset_y * (1.0f / scale_y - 1.0f) + old_rect_size_change.y, 0.0f);
|
actor.set_translation (-ex + offset_x * (1.0f / scale_x - 1.0f) + old_rect_size_change.x, -ey + offset_y * (1.0f / scale_y - 1.0f) + old_rect_size_change.y, 0.0f);
|
||||||
|
Loading…
Reference in New Issue
Block a user