devilhorns pushed a commit to branch master.

commit 6a369b2a2ae2dff1dc572477ae7a0610e4930611
Author: Chris Michael <[email protected]>
Date:   Tue Apr 30 07:20:52 2013 +0100

    If we have an existing outbuf, then free the old one and try to create
    a new one.
    
    Signed-off-by: Chris Michael <[email protected]>
---
 src/modules/evas/engines/drm/evas_engine.c | 13 +++++++++++--
 1 file changed, 11 insertions(+), 2 deletions(-)

diff --git a/src/modules/evas/engines/drm/evas_engine.c 
b/src/modules/evas/engines/drm/evas_engine.c
index 5b3003c..b025432 100644
--- a/src/modules/evas/engines/drm/evas_engine.c
+++ b/src/modules/evas/engines/drm/evas_engine.c
@@ -139,14 +139,23 @@ eng_setup(Evas *evas, void *einfo)
                                  info->info.rotation, info->info.depth, 
                                  info->info.destination_alpha, swap)))
           return 0;
-
-        re->info = info;
      }
    else
      {
+        /* if we have an existing outbuf, free it */
+        if (re->ob) evas_outbuf_free(re->ob);
 
+        /* try to create a new outbuf */
+        if (!(re->ob = 
+              evas_outbuf_setup(epd->output.w, epd->output.h, 
+                                info->info.rotation, info->info.depth, 
+                                info->info.destination_alpha)))
+          return 0;
      }
 
+   /* update the info structure pointer */
+   re->info = info;
+
    /* reassign engine output */
    epd->engine.data.output = re;
    if (!epd->engine.data.output) return 0;

-- 

------------------------------------------------------------------------------
Introducing AppDynamics Lite, a free troubleshooting tool for Java/.NET
Get 100% visibility into your production application - at no cost.
Code-level diagnostics for performance bottlenecks with <2% overhead
Download for free and get started troubleshooting in minutes.
http://p.sf.net/sfu/appdyn_d2d_ap1

Reply via email to