WebKit Bugzilla
New
Browse
Log In
×
Sign in with GitHub
or
Remember my login
Create Account
·
Forgot Password
Forgotten password account recovery
RESOLVED FIXED
41827
[Qt] Canvas putImageData() resets painter state
https://bugs.webkit.org/show_bug.cgi?id=41827
Summary
[Qt] Canvas putImageData() resets painter state
Andreas Kling
Reported
2010-07-07 19:10:59 PDT
In ImageBufferQt.cpp, putImageData() will call end() and begin() on the ImageBufferData's QPainter if painting is active (which it always is, at least for a canvas backend.) This resets the painter state which is supposed to be in sync with the canvas rendering context's state.
Attachments
Proposed patch
(14.09 KB, patch)
2010-07-07 19:50 PDT
,
Andreas Kling
kling
: review-
Details
Formatted Diff
Diff
Proposed patch v2
(6.49 KB, patch)
2010-07-08 04:41 PDT
,
Andreas Kling
kling
: review-
Details
Formatted Diff
Diff
Proposed patch v3
(7.30 KB, patch)
2010-07-08 04:56 PDT
,
Andreas Kling
no flags
Details
Formatted Diff
Diff
Proposed patch v4
(7.30 KB, patch)
2010-07-08 05:03 PDT
,
Andreas Kling
no flags
Details
Formatted Diff
Diff
Show Obsolete
(3)
View All
Add attachment
proposed patch, testcase, etc.
Andreas Kling
Comment 1
2010-07-07 19:50:04 PDT
Created
attachment 60828
[details]
Proposed patch Patch to use QImage instead of QPixmap as the backing store of ImageBuffer.
WebKit Review Bot
Comment 2
2010-07-07 19:52:43 PDT
Attachment 60828
[details]
did not pass style-queue: Failed to run "['WebKitTools/Scripts/check-webkit-style', '--no-squash']" exit_code: 1 WebCore/platform/graphics/qt/ImageBufferData.h:30: Alphabetical sorting problem. [build/include_order] [4] Total errors found: 1 in 7 files If any of these errors are false positives, please file a bug against check-webkit-style.
Early Warning System Bot
Comment 3
2010-07-07 19:58:36 PDT
Attachment 60828
[details]
did not build on qt: Build output:
http://webkit-commit-queue.appspot.com/results/3496001
Andreas Kling
Comment 4
2010-07-07 20:18:02 PDT
Comment on
attachment 60828
[details]
Proposed patch Oops, used some 4.7+ API here. Leaving r? for visibility. zzz..
Andreas Kling
Comment 5
2010-07-08 04:04:46 PDT
Comment on
attachment 60828
[details]
Proposed patch r- after discussion with Simon. There should be a simpler way to fix this.
Andreas Kling
Comment 6
2010-07-08 04:41:27 PDT
Created
attachment 60865
[details]
Proposed patch v2 Better solution - use QPainter::drawImage() to copy pixel data into the canvas backing store.
Andreas Kling
Comment 7
2010-07-08 04:45:45 PDT
Comment on
attachment 60865
[details]
Proposed patch v2 r- due to bathroom epiphany. More awesome patch coming shortly.
Andreas Kling
Comment 8
2010-07-08 04:56:29 PDT
Created
attachment 60866
[details]
Proposed patch v3 Accomplish the same thing without converting the canvas backing store into a QImage.
Andreas Kling
Comment 9
2010-07-08 05:03:04 PDT
Created
attachment 60867
[details]
Proposed patch v4 Patch updated to set correct composition mode when painter isn't active at the time putImageData() is called.
WebKit Commit Bot
Comment 10
2010-07-08 05:38:31 PDT
Comment on
attachment 60867
[details]
Proposed patch v4 Clearing flags on attachment: 60867 Committed
r62782
: <
http://trac.webkit.org/changeset/62782
>
WebKit Commit Bot
Comment 11
2010-07-08 05:38:41 PDT
All reviewed patches have been landed. Closing bug.
Note
You need to
log in
before you can comment on or make changes to this bug.
Top of Page
Format For Printing
XML
Clone This Bug