Closed
Bug 1015211
Opened 11 years ago
Closed 11 years ago
Implement StartRemoteDrawing for GTK3
Categories
(Core :: Graphics: Layers, defect)
Tracking
()
RESOLVED
DUPLICATE
of bug 1013552
People
(Reporter: fred23, Assigned: fred23)
References
Details
Attachments
(1 file, 1 obsolete file)
1.41 KB,
patch
|
cwiiis
:
review+
karlt
:
review-
|
Details | Diff | Splinter Review |
We need GTK3 support in StartRemoteDrawing() since I'm making BasicCompositor kick in there days for GTK3 on OMTC linux.
The patch is simple, it basically gets a soft ref (not with cairo_reference, of course) on the current cairo_t when it's passed to OnExposeEvent(...) and use that when StartRemoteDrawing() is called to retrieve the ThebesSurface.
Attachment #8427786 -
Flags: review?(chrislord.net)
Assignee | ||
Comment 1•11 years ago
|
||
Sorry, the previous patch was not the most up-to-date one on my system. Here's the one that works ;-)
Attachment #8427786 -
Attachment is obsolete: true
Attachment #8427786 -
Flags: review?(chrislord.net)
Attachment #8428745 -
Flags: review?(chrislord.net)
Comment 2•11 years ago
|
||
Comment on attachment 8428745 [details] [diff] [review]
GTK3_StartRemoteDrawing.patch
Review of attachment 8428745 [details] [diff] [review]:
-----------------------------------------------------------------
I think there are better people to review this, but the change is small and I think it looks fine with the second comment addressed (rename mCr to mCairoCtx, or something similar).
::: widget/gtk/nsWindow.h
@@ +332,5 @@
> bool mEnabled;
> // has the native window for this been created yet?
> bool mCreated;
> + // with GTK3 builds, we need to keep track of the associated cairo_t
> + // for stuff like ::StartRemoteDrawing()
The cairo_t associated with the window I presume?
@@ +333,5 @@
> // has the native window for this been created yet?
> bool mCreated;
> + // with GTK3 builds, we need to keep track of the associated cairo_t
> + // for stuff like ::StartRemoteDrawing()
> + cairo_t* mCr;
mCr isn't a good name for this, mCairoCtx would make the code a lot more readable.
Attachment #8428745 -
Flags: review?(chrislord.net) → review+
Comment 3•11 years ago
|
||
Comment on attachment 8428745 [details] [diff] [review]
GTK3_StartRemoteDrawing.patch
I'm going to mark this r- sorry, because the cairo_t is only valid for the life of the expose event. The pointer should at least be nulled before the expose event handler returns, but I think we'll need something after that point anyway, so I prefer the approach in bug 1013552.
Can you include function names and more context in future patches please?
Mercurial can be configured to do this automatically as described at
https://developer.mozilla.org/en-US/docs/Mercurial_FAQ#How_can_I_generate_a_patch_for_somebody_else_to_check-in_for_me.3F
Attachment #8428745 -
Flags: review-
Assignee | ||
Comment 4•11 years ago
|
||
(In reply to Karl Tomlinson (needinfo?:karlt) from comment #3)
> Comment on attachment 8428745 [details] [diff] [review]
> GTK3_StartRemoteDrawing.patch
>
> I'm going to mark this r- sorry, because the cairo_t is only valid for the
> life of the expose event. The pointer should at least be nulled before the
> expose event handler returns, but I think we'll need something after that
> point anyway, so I prefer the approach in bug 1013552.
ah, cool ! Didn't know someone already got a nice fix for that, thanks !
I'll pull the change from 1013552, which seems to be doing the trick
Status: NEW → RESOLVED
Closed: 11 years ago
Resolution: --- → DUPLICATE
You need to log in
before you can comment on or make changes to this bug.
Description
•