evas_clip: check for object validity before adding fallback damage rect
authorMike Blumenkrantz <zmike@samsung.com>
Fri, 22 Mar 2019 13:50:57 +0000 (09:50 -0400)
committerYeongjong Lee <yj34.lee@samsung.com>
Tue, 2 Apr 2019 03:45:17 +0000 (12:45 +0900)
this path should not be triggered for objects which are being deleted,
which was the case in all of the referenced bug reportst

fix T4904, T7100, T7421

Reviewed-by: Cedric BAIL <cedric.bail@free.fr>
Differential Revision: https://phab.enlightenment.org/D8445

src/lib/evas/canvas/evas_clip.c

index 3678d4a..809c24f 100644 (file)
@@ -289,7 +289,8 @@ _efl_canvas_object_clipper_unset_common(Evas_Object_Protected_Data *obj, Eina_Bo
              if (((clip->cur) && (clip->cur->visible)) &&
                  (((clip->cur->color.r != 255) || (clip->cur->color.g != 255) ||
                    (clip->cur->color.b != 255) || (clip->cur->color.a != 255)) ||
-                  (clip->mask->is_mask)))
+                  (clip->mask->is_mask)) &&
+                  efl_alive_get(clip->object))
                {
                   if (clip->layer)
                     {