ecore-evas wayland: enforce frame/state change triggering before move/resize
if a state change occurs on the ee, related callbacks must be run prior to performing any resizes in order to ensure that the correct csd sizes are calculated @fix ref T2841
This commit is contained in:
parent
4aba5758f9
commit
787beec627
|
@ -191,22 +191,6 @@ _ecore_evas_wl_common_cb_window_configure(void *data EINA_UNUSED, int type EINA_
|
||||||
if (nw < 1) nw = 1;
|
if (nw < 1) nw = 1;
|
||||||
if (nh < 1) nh = 1;
|
if (nh < 1) nh = 1;
|
||||||
|
|
||||||
/* NB: We receive window configure sizes based on xdg surface
|
|
||||||
* window geometry, so we need to subtract framespace here */
|
|
||||||
|
|
||||||
evas_output_framespace_get(ee->evas, NULL, NULL, &fw, &fh);
|
|
||||||
|
|
||||||
if (ECORE_EVAS_PORTRAIT(ee))
|
|
||||||
{
|
|
||||||
nw -= fw;
|
|
||||||
nh -= fh;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
nw -= fh;
|
|
||||||
nh -= fw;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (prev_full != ee->prop.fullscreen)
|
if (prev_full != ee->prop.fullscreen)
|
||||||
_ecore_evas_wl_common_border_update(ee);
|
_ecore_evas_wl_common_border_update(ee);
|
||||||
|
|
||||||
|
@ -214,7 +198,10 @@ _ecore_evas_wl_common_cb_window_configure(void *data EINA_UNUSED, int type EINA_
|
||||||
(prev_full != ee->prop.fullscreen))
|
(prev_full != ee->prop.fullscreen))
|
||||||
_ecore_evas_wl_common_state_update(ee);
|
_ecore_evas_wl_common_state_update(ee);
|
||||||
|
|
||||||
|
/* NB: We receive window configure sizes based on xdg surface
|
||||||
|
* window geometry, so we need to subtract framespace here */
|
||||||
evas_output_framespace_get(ee->evas, NULL, NULL, &fw, &fh);
|
evas_output_framespace_get(ee->evas, NULL, NULL, &fw, &fh);
|
||||||
|
|
||||||
if (ECORE_EVAS_PORTRAIT(ee))
|
if (ECORE_EVAS_PORTRAIT(ee))
|
||||||
{
|
{
|
||||||
nw -= fw;
|
nw -= fw;
|
||||||
|
|
Loading…
Reference in New Issue