Surround all direct pixel operations with Cairo.Surface.Flush/MarkDirty

Bug #604869 reported by Maia Everett
22
This bug affects 3 people
Affects Status Importance Assigned to Milestone
Pinta
Fix Released
High
Unassigned
pinta (Debian)
Fix Released
Unknown
pinta (Ubuntu)
Fix Released
Undecided
Unassigned

Bug Description

The latest Cairo 1.9.x releases (which are now in Ubuntu Maverick) use caching for image surfaces, resulting in direct pixel operations in Pinta not drawing correctly.

Therefore, all operations modifying pixels via pointers must be surrounded with Flush/MarkDirty, like this:

surf.Flush ();
// Modify some pixels on surf directly
surf.MarkDirty ();

Related branches

Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package pinta - 0.4+dfsg-1ubuntu1

---------------
pinta (0.4+dfsg-1ubuntu1) maverick; urgency=low

  * Merge from Debian (LP: #603002), no previous Ubuntu changes retained
    (debian/patches/bilinear_resize.patch merged upstream).
    + System toolbar settings respected now (LP: #585063).
  * Remaining Ubuntu changes:
    + Added cairo_1.9_flush_markdirty.patch:
      - Surround direct pixel operations with Flush/MarkDirty to fix a grave
        bug with unusable canvas (LP: #604869).
 -- Maia Kozheva <email address hidden> Tue, 13 Jul 2010 12:22:16 +0700

Changed in pinta (Ubuntu):
status: New → Fix Released
Revision history for this message
Jonathan Pobst (jpobst) wrote :
Changed in pinta:
importance: Undecided → High
milestone: none → 0.5
status: New → Fix Committed
Changed in pinta (Debian):
status: Unknown → Confirmed
Changed in pinta (Debian):
status: Confirmed → Fix Released
Jonathan Pobst (jpobst)
Changed in pinta:
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Duplicates of this bug

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.