~ubuntu-branches/ubuntu/precise/gnash/precise-proposed

« back to all changes in this revision

Viewing changes to debian/patches/03_c22769f0ab

  • Committer: Bazaar Package Importer
  • Author(s): Angel Abad, Angel Abad, Micah Gersten
  • Date: 2010-11-28 22:18:48 UTC
  • mfrom: (3.1.10 sid)
  • Revision ID: james.westby@ubuntu.com-20101128221848-apjipwy78m13612a
Tags: 0.8.8-6ubuntu1
[ Angel Abad <angelabad@ubuntu.com> ]
* Merge from debian unstable (LP: #682386). Remaining changes:
  - Add Ubuntu flash alternatives in postinst and prerm
    + update debian/browser-plugin-gnash.postinst
    + update debian/browser-plugin-gnash.prerm

[ Micah Gersten <micahg@ubuntu.com> ]
* Only install the flash alternative in /usr/lib/mozilla/plugins as the other
  locations are deprecated
  - update debian/browser-plugin-gnash.postinst

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
Description: Drop assertion, handle the case instead.
 
2
Author: Benjamin Wolsey <bwy@benjaminwolsey.de>
 
3
 
 
4
--- a/libcore/DisplayList.cpp
 
5
+++ b/libcore/DisplayList.cpp
 
6
@@ -45,15 +45,11 @@
 
7
     DisplayList::const_iterator beginNonRemoved(
 
8
             const DisplayList::container_type& c);
 
9
 
 
10
-       /// Return an iterator succeeding the last element in zone
 
11
-    /// (-16384, 0xffff-16384)
 
12
+    /// Return the first element in the DisplayList whose depth exceeds
 
13
+    /// 65535 (-16384).
 
14
     DisplayList::iterator dlistTagsEffectiveZoneEnd(
 
15
             DisplayList::container_type& c);
 
16
        
 
17
-       /// Return an constant iterator succeeding the last element
 
18
-    /// in (-16384, 0xffff-16384)
 
19
-    DisplayList::const_iterator dlistTagsEffectiveZoneEnd(
 
20
-            const DisplayList::container_type& c);
 
21
 }
 
22
 
 
23
 /// Anonymous namespace for generic algorithm functors.
 
24
@@ -881,21 +877,27 @@
 
25
 }
 
26
 
 
27
 void
 
28
-DisplayList::mergeDisplayList(DisplayList & newList)
 
29
+DisplayList::mergeDisplayList(DisplayList& newList)
 
30
 {
 
31
     testInvariant();
 
32
 
 
33
+    log_debug("New list size: %s", newList.size());
 
34
+
 
35
     iterator itOld = beginNonRemoved(_charsByDepth);
 
36
     iterator itNew = beginNonRemoved(newList._charsByDepth);
 
37
 
 
38
     iterator itOldEnd = dlistTagsEffectiveZoneEnd(_charsByDepth);
 
39
-    iterator itNewEnd = newList._charsByDepth.end(); 
 
40
-    assert(itNewEnd == dlistTagsEffectiveZoneEnd(newList._charsByDepth) );
 
41
+
 
42
+    // There used to be an assertion here that no character in the new list
 
43
+    // is at depth 65535 or higher. There's no reason why the tags executed
 
44
+    // on the new list shouldn't do this though. Bug #29282 does this.
 
45
+    // TODO: check whether we should be ignoring that character.
 
46
+    iterator itNewEnd = dlistTagsEffectiveZoneEnd(newList._charsByDepth); 
 
47
 
 
48
     // step1. 
 
49
     // starting scanning both lists.
 
50
-    while (itOld != itOldEnd)
 
51
-    {
 
52
+    while (itOld != itOldEnd) {
 
53
+
 
54
         iterator itOldBackup = itOld;
 
55
         
 
56
         DisplayObject* chOld = *itOldBackup;
 
57
@@ -1108,13 +1110,6 @@
 
58
 {
 
59
     return std::find_if(c.begin(), c.end(), 
 
60
              DepthGreaterOrEqual(0xffff + DisplayObject::staticDepthOffset));
 
61
-}
 
62
-
 
63
-DisplayList::const_iterator
 
64
-dlistTagsEffectiveZoneEnd(const DisplayList::container_type& c)
 
65
-{
 
66
-    return std::find_if(c.begin(), c.end(), 
 
67
-             DepthGreaterOrEqual(0xffff + DisplayObject::staticDepthOffset));
 
68
 }
 
69
 
 
70
 } // anonymous namespace
 
71
 
 
 
b'\\ No newline at end of file'