This is an automated email from the git hooks/post-receive script.
git pushed a commit to branch f/fix_xlib_protocol_error
in repository enlightenment.
View the commit online.
commit 04db77c4a90e0a3caf4a02e553fe6dc03beec7c0
Author: Marcel Hollerbach <[email protected]>
AuthorDate: Tue Mar 7 18:39:27 2023 +0100
e_comp: reschedule when size is invalid
there is no point updating when the size of the comp is 0x0
---
src/bin/e_comp.c | 7 +++++++
src/bin/e_comp.h | 1 +
src/bin/e_comp_canvas.c | 3 +++
3 files changed, 11 insertions(+)
diff --git a/src/bin/e_comp.c b/src/bin/e_comp.c
index 541fd4b18..769ad9d8d 100644
--- a/src/bin/e_comp.c
+++ b/src/bin/e_comp.c
@@ -960,6 +960,13 @@ _e_comp_shapes_update_job(void *d EINA_UNUSED)
win = e_comp->win;
else
win = e_comp->cm_selection;
+
+ if (e_comp->h <= 0 || e_comp->w <= 0)
+ {
+ e_comp->shape_update_on_resize = EINA_TRUE;
+ return;
+ }
+
E_FREE_LIST(e_comp->debug_rects, evas_object_del);
tb = eina_tiler_new(e_comp->w, e_comp->h);
eina_tiler_tile_size_set(tb, 1, 1);
diff --git a/src/bin/e_comp.h b/src/bin/e_comp.h
index 686ed1600..639383ae0 100644
--- a/src/bin/e_comp.h
+++ b/src/bin/e_comp.h
@@ -192,6 +192,7 @@ struct _E_Comp
Eina_Bool updating E_BITFIELD; // running client updates
Eina_Bool frozen E_BITFIELD; // frozen - when power save freeze mode is on
+ Eina_Bool shape_update_on_resize E_BITFIELD; //a shape update was scheduled but e_comp size was 0 in one dimension
};
diff --git a/src/bin/e_comp_canvas.c b/src/bin/e_comp_canvas.c
index de53573bc..d6661a4e8 100644
--- a/src/bin/e_comp_canvas.c
+++ b/src/bin/e_comp_canvas.c
@@ -625,6 +625,9 @@ e_comp_canvas_resize(int w, int h)
e_comp->w = w;
e_comp->h = h;
ecore_evas_resize(e_comp->ee, w, h);
+ if (e_comp->shape_update_on_resize) {
+ e_comp_shape_queue();
+ }
}
E_API void
--
To stop receiving notification emails like this one, please contact
the administrator of this repository.