discomfitor pushed a commit to branch evas-1.7.
commit 043baef6e1f4826e815364162d08d98361ce617f
Author: Mike Blumenkrantz <[email protected]>
Date: Mon Apr 22 16:34:14 2013 +0100
fix recursive proxy rendering to just render a black rectangle
---
ChangeLog | 4 ++++
NEWS | 18 +++++++++++++++++-
src/lib/canvas/evas_object_image.c | 15 ++++++++-------
3 files changed, 29 insertions(+), 8 deletions(-)
diff --git a/ChangeLog b/ChangeLog
index 330dbba..977f1f5 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1237,6 +1237,7 @@
* Fix crash in Evas Buffer engine when using output without alpha
channel.
+<<<<<<< HEAD
2013-04-04 Tom Hacohen
* Evas font: If OS/2 table is available and the font is demi-bold,
@@ -1282,3 +1283,6 @@
state info, the object context can be corrupted at the next show time.
Now it replaces the cur/prev in that rare case.
+2013-04-22 Mike Blumenkrantz
+
+ * Fix recursive proxy image rendering to just render black
diff --git a/NEWS b/NEWS
index 5814e47..5911ddc 100644
--- a/NEWS
+++ b/NEWS
@@ -10,9 +10,25 @@ Fixes:
* Evas map: don't be crashed even if image size is 0.
* Evas: Don't update evas update area by the clipper if the image obj
visible is changed.
* Evas textblock: Fixed a bug with deletion of ranges that end just before
a visual format.
- * 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.
+ * 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 1.7.6
+ * Fix SIGFPE in evas map update if image is 0.
+ * Evas textblock: Fixed issue and simplified cursor_geometry_get.
+ * Evas text: Fixed issue with horiz advance.
+ * Evas text utils: Fixed issue with no-harfbuzz bidi.
+ * Fixed pixman surface alloc where allocated and image size differ.
+ * Stop initializing and shutting Fontconfig down
+ * Evas textblock: Fixed a selection issue with different scripts and bidi.
+ * Fix memory usage spike when rotating with the software_x11 engine.
+ * Fix bmp portability issue on some 64bits system.
+ * Fix textgrid portability issue on some 64bits system.
+ * Evas text: Fixed bug with the text object direction detection.
+ * Evas font: Fixed font run detection for specific cases with 2 different
fonts in the middle of a run.
+ * Evas cache: remove the freed worker from the pthread worker list when
it's failed to create a new thread so as not to access it if a thread is
working newly.
+ * Fix evas word start/end find in textblock to be consistent with other
toolkit logic on the matter
+ * Fix crash in Evas Buffer engine when using output with no alpha.
Changes since Evas 1.7.5:
-------------------------
diff --git a/src/lib/canvas/evas_object_image.c
b/src/lib/canvas/evas_object_image.c
index 855570d..64b2daf 100644
--- a/src/lib/canvas/evas_object_image.c
+++ b/src/lib/canvas/evas_object_image.c
@@ -91,6 +91,7 @@ struct _Evas_Object_Image
unsigned char video_surface : 1;
unsigned char video_visible : 1;
unsigned char created : 1;
+ unsigned char proxyerror : 1;
};
/* private methods for image objects */
@@ -2244,6 +2245,7 @@ _proxy_unset(Evas_Object *proxy)
evas_map_free(o->cur.defmap);
o->cur.defmap = NULL;
}
+ o->proxyerror = 0;
}
@@ -2261,6 +2263,7 @@ _proxy_set(Evas_Object *proxy, Evas_Object *src)
src->proxy.proxies = eina_list_append(src->proxy.proxies, proxy);
src->proxy.redraw = EINA_TRUE;
+ o->proxyerror = 0;
}
/* Some moron just set a proxy on a proxy.
@@ -2271,16 +2274,14 @@ _proxy_error(Evas_Object *proxy, void *context, void
*output, void *surface,
int x, int y)
{
Evas_Func *func;
- int r = rand() % 255;
- int g = rand() % 255;
- int b = rand() % 255;
+ Evas_Object_Image *o;
- /* XXX: Eina log error or something I'm sure
- * If it bugs you, just fix it. Don't tell me */
- if (VERBOSE_PROXY_ERROR) printf("Err: Argh! Recursive proxies.\n");
+ o = proxy->object_data;
+ if (!o->proxyerror) printf("Err: Argh! Recursive proxies.\n");
+ o->proxyerror = 1;
func = proxy->layer->evas->engine.func;
- func->context_color_set(output, context, r, g, b, 255);
+ func->context_color_set(output, context, 0, 0, 0, 255);
func->context_multiplier_unset(output, context);
func->context_render_op_set(output, context, proxy->cur.render_op);
func->rectangle_draw(output, context, surface, proxy->cur.geometry.x + x,
--
------------------------------------------------------------------------------
Precog is a next-generation analytics platform capable of advanced
analytics on semi-structured data. The platform includes APIs for building
apps and a phenomenal toolset for data science. Developers can use
our toolset for easy data analysis & visualization. Get a free account!
http://www2.precog.com/precogplatform/slashdotnewsletter