forked from enlightenment/efl
win: make _elm_win_opaque_update check that it has a wayland window
This function will destroy non-wayland engine data, so it should make sure it's actually operating on a wayland window. Originally the sd->wl.win test was sufficient, but now wl.win is present on non-wl windows to facilitate cut and paste, so we need to check more thoroughly.
This commit is contained in:
parent
0cf806005e
commit
f0f02d3386
|
@ -1401,10 +1401,17 @@ _elm_win_opaque_update(Efl_Ui_Win_Data *sd, Eina_Bool force_alpha)
|
|||
int ox, oy, ow, oh;
|
||||
Eina_Bool alpha;
|
||||
Ecore_Evas_Engine_Wl_Data *wdata;
|
||||
const char *engine_name;
|
||||
|
||||
if (!sd->wl.win) return;
|
||||
if (!sd->shown) return;
|
||||
|
||||
/* If this isn't a wayland window, BAIL now to avoid destroying
|
||||
* non-wayland engine data structures...
|
||||
*/
|
||||
engine_name = ecore_evas_engine_name_get(sd->ee);
|
||||
if (strncmp(engine_name, "wayland", sizeof("wayland") - 1)) return;
|
||||
|
||||
wdata = sd->ee->engine.data;
|
||||
alpha = ecore_evas_alpha_get(sd->ee) || force_alpha;
|
||||
if (sd->fullscreen || !sd->frame_obj)
|
||||
|
|
Loading…
Reference in New Issue