diff --git a/src/actions.c b/src/actions.c index 5bd1cb08..30c4a5a3 100644 --- a/src/actions.c +++ b/src/actions.c @@ -3771,8 +3771,10 @@ void select_rect(int what, int select) { RECTORDER(xctx->nl_xr,xctx->nl_yr,xctx->nl_xr2,xctx->nl_yr2); drawtemprect(xctx->gctiled, NOW, xctx->nl_xr,xctx->nl_yr,xctx->nl_xr2,xctx->nl_yr2); - if(xctx->nl_dir == 0) select_inside(xctx->nl_xr,xctx->nl_yr,xctx->nl_xr2,xctx->nl_yr2, xctx->nl_sel); - else select_touch(xctx->nl_xr,xctx->nl_yr,xctx->nl_xr2,xctx->nl_yr2, xctx->nl_sel); + if(!incremental_select || xctx->nl_dir == 0) + select_inside(xctx->nl_xr,xctx->nl_yr,xctx->nl_xr2,xctx->nl_yr2, xctx->nl_sel); + else + select_touch(xctx->nl_xr,xctx->nl_yr,xctx->nl_xr2,xctx->nl_yr2, xctx->nl_sel); draw_selection(xctx->gc[SELLAYER], 0); xctx->ui_state &= ~STARTSELECT;