diff options
Diffstat (limited to 'sway')
-rw-r--r-- | sway/input_state.c | 7 |
1 files changed, 2 insertions, 5 deletions
diff --git a/sway/input_state.c b/sway/input_state.c index 03904322..cb8632de 100644 --- a/sway/input_state.c +++ b/sway/input_state.c @@ -234,7 +234,8 @@ void pointer_mode_update(void) { case M_TILING | M_DRAGGING: // swap current view under pointer with dragged view - if (pointer_state.view && pointer_state.view != initial.ptr) { + if (pointer_state.view && pointer_state.view->type == C_VIEW + && pointer_state.view != initial.ptr) { // Swap them around swap_container(pointer_state.view, initial.ptr); update_geometry(pointer_state.view); @@ -254,12 +255,10 @@ void pointer_mode_update(void) { if (initial.w + dx > min_sane_w && initial.lr.w - dx > min_sane_w) { initial.ptr->width = initial.w + dx; initial.lr.ptr->width = initial.lr.w - dx; - initial.lr.ptr->x = initial.lr.x + dx; } } else { //lock.right if (initial.w - dx > min_sane_w && initial.lr.w + dx > min_sane_w) { initial.ptr->width = initial.w - dx; - initial.ptr->x = initial.x + dx; initial.lr.ptr->width = initial.lr.w + dx; } changed = true; @@ -271,12 +270,10 @@ void pointer_mode_update(void) { if (initial.h + dy > min_sane_h && initial.tb.h - dy > min_sane_h) { initial.ptr->height = initial.h + dy; initial.tb.ptr->height = initial.tb.h - dy; - initial.tb.ptr->y = initial.tb.y + dy; } } else { //lock.bottom if (initial.h - dy > min_sane_h && initial.tb.h + dy > min_sane_h) { initial.ptr->height = initial.h - dy; - initial.ptr->y = initial.y + dy; initial.tb.ptr->height = initial.tb.h + dy; } changed = true; |