gnash-commit
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Gnash-commit] [SCM] Gnash branch, master, updated. release_0_8_9_start-


From: Sandro Santilli
Subject: [Gnash-commit] [SCM] Gnash branch, master, updated. release_0_8_9_start-297-g6860ca5
Date: Fri, 18 Mar 2011 18:53:13 +0000

This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "Gnash".

The branch, master has been updated
       via  6860ca5df285420af4d0fa491b34613d58fa15df (commit)
      from  cf2c372b1c56640c6c0de884d5482de0683af9d7 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://git.savannah.gnu.org/cgit//commit/?id=6860ca5df285420af4d0fa491b34613d58fa15df


commit 6860ca5df285420af4d0fa491b34613d58fa15df
Author: Sandro Santilli <address@hidden>
Date:   Fri Mar 18 19:52:39 2011 +0100

    Fix the missing and disposed bitmap in bitmapfill case for cairo too (bug 
#32842)

diff --git a/librender/cairo/Renderer_cairo.cpp 
b/librender/cairo/Renderer_cairo.cpp
index 17cfa56..f561343 100644
--- a/librender/cairo/Renderer_cairo.cpp
+++ b/librender/cairo/Renderer_cairo.cpp
@@ -281,10 +281,24 @@ struct StyleHandler : 
boost::static_visitor<cairo_pattern_t*>
     cairo_pattern_t* operator()(const BitmapFill& f) const {
         SWFMatrix m = f.matrix();
       
-        const bitmap_info_cairo* binfo =
-            dynamic_cast<const bitmap_info_cairo*>(f.bitmap());
+        const CachedBitmap* bm = f.bitmap();
+
+        if (!bm) {
+            // See misc-swfmill.all/missing_bitmap.swf
+            cairo_pattern_t* pattern =
+                cairo_pattern_create_rgba(255, 0, 0, 255);
+            return pattern;
+        }
 
-        if (!binfo) return 0;
+        if (bm->disposed()) {
+            // See misc-ming.all/BeginBitmapFill.swf
+            cairo_pattern_t* pattern =
+                cairo_pattern_create_rgba(0, 0, 0, 0);
+            return pattern;
+        }
+
+        const bitmap_info_cairo* binfo =
+            dynamic_cast<const bitmap_info_cairo*>(bm);
       
         cairo_matrix_t mat;
         init_cairo_matrix(&mat, m);       

-----------------------------------------------------------------------

Summary of changes:
 librender/cairo/Renderer_cairo.cpp |   20 +++++++++++++++++---
 1 files changed, 17 insertions(+), 3 deletions(-)


hooks/post-receive
-- 
Gnash



reply via email to

[Prev in Thread] Current Thread [Next in Thread]