Ecore_Evas win32 module: do not set evas viewport size to 0

Summary: When a window is iconified, its size is 0x0 and is passed to evas viewport. Set the size to 1x1 in that case

Test Plan: Elementary "windows states" test

Reviewers: raster, jpcordovae, felipealmeida, jptiz

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D12171
This commit is contained in:
Vincent Torri 2020-10-10 13:56:03 +01:00 committed by Carsten Haitzler (Rasterman)
parent 6bc22474bd
commit 0742a6c78e
1 changed files with 14 additions and 12 deletions

View File

@ -54,6 +54,8 @@
#define ECORE_EVAS_EVENT_COUNT 11
#define EE_SZ(sz_) (ee->sz_ == 0) ? 1 : (ee->sz_)
static int _ecore_evas_init_count = 0;
static Ecore_Event_Handler *ecore_evas_event_handlers[ECORE_EVAS_EVENT_COUNT];
@ -374,13 +376,13 @@ _ecore_evas_win32_event_window_configure(void *data EINA_UNUSED, int type EINA_U
if (ECORE_EVAS_PORTRAIT(ee))
{
evas_output_size_set(ee->evas, ee->w, ee->h);
evas_output_viewport_set(ee->evas, 0, 0, ee->w, ee->h);
evas_output_size_set(ee->evas, EE_SZ(w), EE_SZ(h));
evas_output_viewport_set(ee->evas, 0, 0, EE_SZ(w), EE_SZ(h));
}
else
{
evas_output_size_set(ee->evas, ee->h, ee->w);
evas_output_viewport_set(ee->evas, 0, 0, ee->h, ee->w);
evas_output_size_set(ee->evas, EE_SZ(h), EE_SZ(w));
evas_output_viewport_set(ee->evas, 0, 0, EE_SZ(h), EE_SZ(w));
}
if (ee->prop.avoid_damage)
{
@ -603,13 +605,13 @@ _ecore_evas_win32_move_resize(Ecore_Evas *ee, int x, int y, int width, int heigh
x, y, width, height);
if (ECORE_EVAS_PORTRAIT(ee))
{
evas_output_size_set(ee->evas, ee->w, ee->h);
evas_output_viewport_set(ee->evas, 0, 0, ee->w, ee->h);
evas_output_size_set(ee->evas, EE_SZ(w), EE_SZ(h));
evas_output_viewport_set(ee->evas, 0, 0, EE_SZ(w), EE_SZ(h));
}
else
{
evas_output_size_set(ee->evas, ee->h, ee->w);
evas_output_viewport_set(ee->evas, 0, 0, ee->h, ee->w);
evas_output_size_set(ee->evas, EE_SZ(h), EE_SZ(w));
evas_output_viewport_set(ee->evas, 0, 0, EE_SZ(h), EE_SZ(w));
}
if (ee->prop.avoid_damage)
{
@ -668,13 +670,13 @@ _ecore_evas_win32_rotation_set_internal(Ecore_Evas *ee, int rotation)
h, w);
if (ECORE_EVAS_PORTRAIT(ee))
{
evas_output_size_set(ee->evas, ee->w, ee->h);
evas_output_viewport_set(ee->evas, 0, 0, ee->w, ee->h);
evas_output_size_set(ee->evas, EE_SZ(w), EE_SZ(h));
evas_output_viewport_set(ee->evas, 0, 0, EE_SZ(w), EE_SZ(h));
}
else
{
evas_output_size_set(ee->evas, ee->h, ee->w);
evas_output_viewport_set(ee->evas, 0, 0, ee->h, ee->w);
evas_output_size_set(ee->evas, EE_SZ(h), EE_SZ(w));
evas_output_viewport_set(ee->evas, 0, 0, EE_SZ(h), EE_SZ(w));
}
if (ee->func.fn_resize) ee->func.fn_resize(ee);
}