From: Martin Jansa <martin.jansa@gmail.com>
To: openembedded-devel@lists.openembedded.org
Subject: [meta-efl][PATCH 2/2] evas: Add patch to fix segfaults
Date: Wed, 22 May 2013 14:09:03 +0200 [thread overview]
Message-ID: <1369224543-4539-2-git-send-email-Martin.Jansa@gmail.com> (raw)
In-Reply-To: <1369224543-4539-1-git-send-email-Martin.Jansa@gmail.com>
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
---
meta-efl/recipes-efl/efl/evas/revert.r83789.patch | 146 ++++++++++++++++++++++
meta-efl/recipes-efl/efl/evas_1.7.7.bb | 3 +-
2 files changed, 148 insertions(+), 1 deletion(-)
create mode 100644 meta-efl/recipes-efl/efl/evas/revert.r83789.patch
diff --git a/meta-efl/recipes-efl/efl/evas/revert.r83789.patch b/meta-efl/recipes-efl/efl/evas/revert.r83789.patch
new file mode 100644
index 0000000..a5b8ce6
--- /dev/null
+++ b/meta-efl/recipes-efl/efl/evas/revert.r83789.patch
@@ -0,0 +1,146 @@
+From 134e338a40af875d5f7b221a7a8dbeefa7a48f55 Mon Sep 17 00:00:00 2001
+From: Daniel Willmann <d.willmann@samsung.com>
+Date: Tue, 07 May 2013 09:49:53 +0000
+Subject: Revert "Backport rev 83789"
+
+This reverts commit 9a7a28b7582f516c67b23c4bb1a016cfc2ec5b31.
+Was reverted long ago in efl as it doesn't actually work.
+
+Signed-off-by: Daniel Willmann <d.willmann@samsung.com>
+---
+diff --git a/ChangeLog b/ChangeLog
+index 54da44a..93d3834 100644
+--- a/ChangeLog
++++ b/ChangeLog
+@@ -1294,3 +1294,7 @@
+
+ * Evas text: Fixed line size calculation when using multiple
+ fonts.
++
++2013-05-16 Daniel Wilmann
++ * x11 backend: Revert "Fix memory usage spike when rotating with the
++ software_x11 engine". This doesn't actually work.
+diff --git a/NEWS b/NEWS
+index 6188963..c8002db 100644
+--- a/NEWS
++++ b/NEWS
+@@ -13,6 +13,7 @@ Fixes:
+ * Evas: If an object goes to be hidden without replacing the cur/prev state info, the object context can be corrupted at the next show time. Now it replaces the cur/prev in that rare case.
+ * Fix recursive proxy image rendering to just render black
+ * Evas text: Fixed line size calculation when using multiple fonts.
++ * Revert "Fix memory usage spike when rotating with the software_x11 engine."
+
+ Evas 1.7.6
+ * Fix SIGFPE in evas map update if image is 0.
+diff --git a/src/modules/engines/software_x11/evas_xlib_outbuf.c b/src/modules/engines/software_x11/evas_xlib_outbuf.c
+index 3cb1ea0..e337e99 100644
+--- a/src/modules/engines/software_x11/evas_xlib_outbuf.c
++++ b/src/modules/engines/software_x11/evas_xlib_outbuf.c
+@@ -362,7 +362,7 @@ evas_software_xlib_outbuf_setup_x(int w, int h, int rot, Outbuf_Depth depth,
+ RGBA_Image *
+ evas_software_xlib_outbuf_new_region_for_update(Outbuf *buf, int x, int y, int w, int h, int *cx, int *cy, int *cw, int *ch)
+ {
+- RGBA_Image *im = NULL;
++ RGBA_Image *im;
+ Outbuf_Region *obr;
+ int bpl = 0;
+ int use_shm = 1;
+@@ -455,11 +455,6 @@ evas_software_xlib_outbuf_new_region_for_update(Outbuf *buf, int x, int y, int w
+ }
+ else
+ {
+- /* FIXME: For the onebuf case we probably need to do the same thing we did below
+- * (try to get an existing image before we allocate a new one). This code path
+- * is not really used at the moment so no way to test (and that's why the change
+- * is not implemented here as well.
+- */
+ #ifdef EVAS_CSERVE2
+ if (evas_cserve2_use_get())
+ im = (RGBA_Image *)evas_cache2_image_empty(evas_common_image_cache2_get());
+@@ -613,73 +608,26 @@ evas_software_xlib_outbuf_new_region_for_update(Outbuf *buf, int x, int y, int w
+ }
+ else
+ {
+- obr->xob = _find_xob(buf->priv.x11.xlib.disp,
+- buf->priv.x11.xlib.vis,
+- buf->priv.x11.xlib.depth,
+- w, h,
+- use_shm,
+- NULL);
+ #ifdef EVAS_CSERVE2
+ if (evas_cserve2_use_get())
+- {
+- if (obr->xob)
+- im = (RGBA_Image *)evas_cache2_image_data(evas_common_image_cache2_get(),
+- w, h,
+- (DATA32 *) evas_software_xlib_x_output_buffer_data(obr->xob, &bpl),
+- alpha, EVAS_COLORSPACE_ARGB8888);
+-
+- if (!im)
+- {
+- if (obr->xob) _unfind_xob(obr->xob, 0);
+- im = (RGBA_Image *)evas_cache2_image_empty(evas_common_image_cache2_get());
+- if (!im)
+- {
+- free(obr);
+- return NULL;
+- }
+- else
+- {
+- im->cache_entry.w = w;
+- im->cache_entry.h = h;
+- im->cache_entry.flags.alpha |= alpha ? 1 : 0;
+- evas_cache2_image_surface_alloc(&im->cache_entry, w, h);
+- }
+- }
+- }
++ im = (RGBA_Image *)evas_cache2_image_empty(evas_common_image_cache2_get());
+ else
+ #endif
++ im = (RGBA_Image *)evas_cache_image_empty(evas_common_image_cache_get());
++ if (!im)
+ {
+- if (obr->xob)
+- im = (RGBA_Image *)evas_cache_image_data(evas_common_image_cache_get(),
+- w, h,
+- (DATA32 *) evas_software_xlib_x_output_buffer_data(obr->xob, &bpl),
+- alpha, EVAS_COLORSPACE_ARGB8888);
+-
+- if (!im)
+- {
+- if (obr->xob) _unfind_xob(obr->xob, 0);
+- im = (RGBA_Image *)evas_cache_image_empty(evas_common_image_cache_get());
+- if (!im)
+- {
+- free(obr);
+- return NULL;
+- }
+- else
+- {
+- im->cache_entry.w = w;
+- im->cache_entry.h = h;
+- im->cache_entry.flags.alpha |= alpha ? 1 : 0;
+- evas_cache_image_surface_alloc(&im->cache_entry, w, h);
+- }
+- }
++ free(obr);
++ return NULL;
+ }
+-
+- /* Need to update cache_entry w/h here because the render path expects them to be updated
+- * to the new geometry. */
+ im->cache_entry.w = w;
+ im->cache_entry.h = h;
+ im->cache_entry.flags.alpha |= alpha ? 1 : 0;
+-
++#ifdef EVAS_CSERVE2
++ if (evas_cserve2_use_get())
++ evas_cache2_image_surface_alloc(&im->cache_entry, w, h);
++ else
++#endif
++ evas_cache_image_surface_alloc(&im->cache_entry, w, h);
+ im->extended_info = obr;
+ if ((buf->rot == 0) || (buf->rot == 180))
+ {
+--
+cgit v0.9.1
diff --git a/meta-efl/recipes-efl/efl/evas_1.7.7.bb b/meta-efl/recipes-efl/efl/evas_1.7.7.bb
index fb6394c..20355ec 100644
--- a/meta-efl/recipes-efl/efl/evas_1.7.7.bb
+++ b/meta-efl/recipes-efl/efl/evas_1.7.7.bb
@@ -1,9 +1,10 @@
require ${BPN}.inc
-PR = "${INC_PR}.1"
+PR = "${INC_PR}.2"
SRC_URI = "\
${E_MIRROR}/${SRCNAME}-${SRCVER}.tar.gz \
+ file://revert.r83789.patch \
"
SRC_URI[md5sum] = "980abd6f645a38aa0a5d74f11a0e07f9"
--
1.8.2.1
prev parent reply other threads:[~2013-05-22 12:09 UTC|newest]
Thread overview: 2+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-05-22 12:09 [meta-efl][PATCH 1/2] meta-efl: upgrade efl to 1.7.7, e-wm to 0.17.3 Martin Jansa
2013-05-22 12:09 ` Martin Jansa [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1369224543-4539-2-git-send-email-Martin.Jansa@gmail.com \
--to=martin.jansa@gmail.com \
--cc=openembedded-devel@lists.openembedded.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox