replace existing resize pointer mode for x11 client-initiated resizes
ensure there is no mismatch between pointer modes when pushing/popping modes fix T4893
This commit is contained in:
parent
a8fc231d67
commit
c870923716
|
@ -2798,45 +2798,43 @@ _e_comp_x_move_resize_request(void *data EINA_UNUSED, int type EINA_UNUSED, Ecor
|
||||||
e_object_ref(E_OBJECT(ec->cur_mouse_action));
|
e_object_ref(E_OBJECT(ec->cur_mouse_action));
|
||||||
ec->cur_mouse_action->func.go(E_OBJECT(ec), NULL);
|
ec->cur_mouse_action->func.go(E_OBJECT(ec), NULL);
|
||||||
|
|
||||||
|
if (ev->direction != E_POINTER_RESIZE_NONE)
|
||||||
|
{
|
||||||
|
e_pointer_mode_pop(ec, ec->resize_mode);
|
||||||
|
ec->resize_mode = ev->direction;
|
||||||
|
e_pointer_mode_push(ec, ec->resize_mode);
|
||||||
|
}
|
||||||
switch (ev->direction)
|
switch (ev->direction)
|
||||||
{
|
{
|
||||||
case E_POINTER_RESIZE_TL:
|
case E_POINTER_RESIZE_TL:
|
||||||
ec->resize_mode = E_POINTER_RESIZE_TL;
|
|
||||||
GRAV_SET(ec, ECORE_X_GRAVITY_SE);
|
GRAV_SET(ec, ECORE_X_GRAVITY_SE);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case E_POINTER_RESIZE_T:
|
case E_POINTER_RESIZE_T:
|
||||||
ec->resize_mode = E_POINTER_RESIZE_T;
|
|
||||||
GRAV_SET(ec, ECORE_X_GRAVITY_S);
|
GRAV_SET(ec, ECORE_X_GRAVITY_S);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case E_POINTER_RESIZE_TR:
|
case E_POINTER_RESIZE_TR:
|
||||||
ec->resize_mode = E_POINTER_RESIZE_TR;
|
|
||||||
GRAV_SET(ec, ECORE_X_GRAVITY_SW);
|
GRAV_SET(ec, ECORE_X_GRAVITY_SW);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case E_POINTER_RESIZE_R:
|
case E_POINTER_RESIZE_R:
|
||||||
ec->resize_mode = E_POINTER_RESIZE_R;
|
|
||||||
GRAV_SET(ec, ECORE_X_GRAVITY_W);
|
GRAV_SET(ec, ECORE_X_GRAVITY_W);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case E_POINTER_RESIZE_BR:
|
case E_POINTER_RESIZE_BR:
|
||||||
ec->resize_mode = E_POINTER_RESIZE_BR;
|
|
||||||
GRAV_SET(ec, ECORE_X_GRAVITY_NW);
|
GRAV_SET(ec, ECORE_X_GRAVITY_NW);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case E_POINTER_RESIZE_B:
|
case E_POINTER_RESIZE_B:
|
||||||
ec->resize_mode = E_POINTER_RESIZE_B;
|
|
||||||
GRAV_SET(ec, ECORE_X_GRAVITY_N);
|
GRAV_SET(ec, ECORE_X_GRAVITY_N);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case E_POINTER_RESIZE_BL:
|
case E_POINTER_RESIZE_BL:
|
||||||
ec->resize_mode = E_POINTER_RESIZE_BL;
|
|
||||||
GRAV_SET(ec, ECORE_X_GRAVITY_NE);
|
GRAV_SET(ec, ECORE_X_GRAVITY_NE);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case E_POINTER_RESIZE_L:
|
case E_POINTER_RESIZE_L:
|
||||||
ec->resize_mode = E_POINTER_RESIZE_L;
|
|
||||||
GRAV_SET(ec, ECORE_X_GRAVITY_E);
|
GRAV_SET(ec, ECORE_X_GRAVITY_E);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue