diff options
Diffstat (limited to 'sway/tree/view.c')
-rw-r--r-- | sway/tree/view.c | 23 |
1 files changed, 12 insertions, 11 deletions
diff --git a/sway/tree/view.c b/sway/tree/view.c index 354f2d34..e690c334 100644 --- a/sway/tree/view.c +++ b/sway/tree/view.c | |||
@@ -732,10 +732,11 @@ void view_map(struct sway_view *view, struct wlr_surface *wlr_surface, | |||
732 | ws = seat_get_last_known_workspace(seat); | 732 | ws = seat_get_last_known_workspace(seat); |
733 | } | 733 | } |
734 | 734 | ||
735 | struct sway_container *container = view->container; | ||
735 | if (target_sibling) { | 736 | if (target_sibling) { |
736 | container_add_sibling(target_sibling, view->container, 1); | 737 | container_add_sibling(target_sibling, container, 1); |
737 | } else if (ws) { | 738 | } else if (ws) { |
738 | workspace_add_tiling(ws, view->container); | 739 | container = workspace_add_tiling(ws, container); |
739 | } | 740 | } |
740 | ipc_event_window(view->container, "new"); | 741 | ipc_event_window(view->container, "new"); |
741 | 742 | ||
@@ -759,26 +760,26 @@ void view_map(struct sway_view *view, struct wlr_surface *wlr_surface, | |||
759 | } | 760 | } |
760 | 761 | ||
761 | if (config->popup_during_fullscreen == POPUP_LEAVE && | 762 | if (config->popup_during_fullscreen == POPUP_LEAVE && |
762 | view->container->workspace && | 763 | container->workspace && |
763 | view->container->workspace->fullscreen && | 764 | container->workspace->fullscreen && |
764 | view->container->workspace->fullscreen->view) { | 765 | container->workspace->fullscreen->view) { |
765 | struct sway_container *fs = view->container->workspace->fullscreen; | 766 | struct sway_container *fs = container->workspace->fullscreen; |
766 | if (view_is_transient_for(view, fs->view)) { | 767 | if (view_is_transient_for(view, fs->view)) { |
767 | container_set_fullscreen(fs, false); | 768 | container_set_fullscreen(fs, false); |
768 | } | 769 | } |
769 | } | 770 | } |
770 | 771 | ||
771 | view_update_title(view, false); | 772 | view_update_title(view, false); |
772 | container_update_representation(view->container); | 773 | container_update_representation(container); |
773 | 774 | ||
774 | if (fullscreen) { | 775 | if (fullscreen) { |
775 | container_set_fullscreen(view->container, true); | 776 | container_set_fullscreen(view->container, true); |
776 | arrange_workspace(view->container->workspace); | 777 | arrange_workspace(view->container->workspace); |
777 | } else { | 778 | } else { |
778 | if (view->container->parent) { | 779 | if (container->parent) { |
779 | arrange_container(view->container->parent); | 780 | arrange_container(container->parent); |
780 | } else if (view->container->workspace) { | 781 | } else if (container->workspace) { |
781 | arrange_workspace(view->container->workspace); | 782 | arrange_workspace(container->workspace); |
782 | } | 783 | } |
783 | } | 784 | } |
784 | 785 | ||