zmike, How about using EINA_TRUE/EINA_FALSE?
 
------------------------------------
-Regards, Hermet- 

-----Original Message-----
From: "Mike Blumenkrantz - Enlightenment Git"<no-re...@enlightenment.org> 
To: <enlightenment-...@lists.sourceforge.net>; 
Cc: 
Sent: 2013-04-23 (화) 00:41:30
Subject: [EGIT] [core/efl] master 01/01: fix recursive proxy rendering to just 
show a black rectangle

discomfitor pushed a commit to branch master.

commit 715c77adb9463aceaf8699c8c4aec4cca96a494e
Author: Mike Blumenkrantz <m.blumenkran>@samsung.com>
Date:   Mon Apr 22 16:41:24 2013 +0100

    fix recursive proxy rendering to just show a black rectangle
---
 ChangeLog                                 4 ++++
 NEWS                                      1 +
 src/lib/evas/canvas/evas_object_image.c  14 +++++++-------
 3 files changed, 12 insertions(+), 7 deletions(-)

diff --git a/ChangeLog b/ChangeLog
index 927dcc8..0e58b11 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,7 @@
+2013-04-22  Mike Blumenkrantz
+
+        * Evas: Fix recursive proxy image rendering to just render black
+
 2013-04-22  WooHyun Jung
 
         * Edje: When selected word exists, selection is cleared and cursor
diff --git a/NEWS b/NEWS
index d788220..e0c00a7 100644
--- a/NEWS
+++ b/NEWS
@@ -253,3 +253,4 @@ Fixes:
     * Edje: Fix useless ecore_imf_context_reset call in case of pressing ESC 
and Return key
     * Edje: When selected word exists, selection is cleared and cursor remains 
on the current entry by additional key input.
     * Ecore-X: Fix selection parser to not overrun buffer read by using longs 
on 64bit.
+    * Evas: Fix recursive proxy image rendering to just render black
diff --git a/src/lib/evas/canvas/evas_object_image.c 
b/src/lib/evas/canvas/evas_object_image.c
index 44d27d7..db572b4 100644
--- a/src/lib/evas/canvas/evas_object_image.c
+++ b/src/lib/evas/canvas/evas_object_image.c
@@ -121,6 +121,7 @@ struct _Evas_Object_Image
    Eina_Bool         video_surface : 1;
    Eina_Bool         video_visible : 1;
    Eina_Bool         created : 1;
+   Eina_Bool         proxyerror : 1;
 };
 
 /* private methods for image objects */
@@ -2225,6 +2226,7 @@ _image_load_size_set(Eo *eo_obj, void *_pd, va_list *list)
         o->changed = EINA_TRUE;
 evas_object_change(eo_obj, obj);
      }
+   o->proxyerror = 0;
 }
 
 EAPI void
@@ -3124,6 +3126,7 @@ _proxy_set(Evas_Object *eo_proxy, Evas_Object *eo_src)
      state_write->source = eo_src;
    EINA_COW_IMAGE_STATE_WRITE_END(o, state_write);
    o->load_error = EVAS_LOAD_ERROR_NONE;
+   o->proxyerror = 0;
 
    EINA_COW_WRITE_BEGIN(evas_object_proxy_cow, src->proxy, 
Evas_Object_Proxy_Data, proxy_src_write)
      {
@@ -3142,17 +3145,14 @@ _proxy_error(Evas_Object *eo_proxy, void *context, void 
*output, void *surface,
              int x, int y, Eina_Bool do_async)
 {
    Evas_Func *func;
-   int r = rand() % 255;
-   int g = rand() % 255;
-   int b = rand() % 255;
+   Evas_Object_Image *o = eo_data_get(eo_proxy, MY_CLASS);
 
-   /* 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");
+   if (!o->proxyerror) printf("Err: Argh! Recursive proxies.\n");
+   o->proxyerror = 1;
 
    Evas_Object_Protected_Data *proxy = eo_data_get(eo_proxy, EVAS_OBJ_CLASS);
    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

------------------------------------------------------------------------------
Try New Relic Now & We'll Send You this Cool Shirt
New Relic is the only SaaS-based application performance monitoring service 
that delivers powerful full stack analytics. Optimize and monitor your
browser, app, & servers with just a few lines of code. Try New Relic
and get this awesome Nerd Life shirt! http://p.sf.net/sfu/newrelic_d2d_apr
_______________________________________________
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel

Reply via email to