Evas (wayland_egl): Fix a series of various segfaults with the
authorRob Bradford <rob@linux.intel.com>
Mon, 23 Jul 2012 14:33:31 +0000 (14:33 +0000)
committerChristopher Michael <cpmichael1@comcast.net>
Mon, 23 Jul 2012 14:33:31 +0000 (14:33 +0000)
commit1e42e445c5b1d5ce4596e01cba030d88d652ed4c
tree87e35bf8146c8f6cfdb332b175a80d90ce29f782
parentd288db2078f22b2350dd10fe232045c7f0effc1e
Evas (wayland_egl): Fix a series of various segfaults with the
wayland_egl engine caused by windows being hidden:

From: Rob Bradford <rob@linux.intel.com>
Date: Fri, 13 Jul 2012 19:13:12 +0100
Subject: [PATCH] evas(wayland_egl): Resolve a series of segfaults on
clean-up

The first was that when a window was being hidden the render engine
(e->engine.data.output) was being assigned to NULL (like on an error
path). I
checked other backends and they only free and nullify this pointer on
error
paths. By doing it on a hide it was interfering with cleanup process
for the
object.

This then highlighted a second crash from the derefence of the window
to NULL
when flushing the cache. If the window was hidden this window pointer
would
be NULL.

The third it highlighted was a duplicate call into
evas_gl_common_image_free
and the freeing of the image cache twice. By the time eng_image_free
has been
called the cache has already been freed so we can remove the duplicate
free.

SVN revision: 74330
legacy/evas/src/modules/engines/wayland_egl/evas_engine.c