Follow-up to bug 156043 ("Moz cores when printing [@ nsRenderingContextGTK::Init]"): From bug 156043: -- snip -- > To fix this we need to be able to create the correct offscreen rendering > context for any given device context. nsIDeviceContext does not currently > provide a way to do this. > I have asked gisburn to come up with a patch for that. -- snip -- This was not the first bug in this area - we had at least twenty or more bugs in the last two years where a renderingcontext was used on the wrong devicecontext object. I am s*ck of these endless problems and therefore propose to kill the root of the problem: There must not be a way to create a rendering context via the component manager - the only valid way to obtain an initalised or uninitalised rendering context object should go thougth the matching methods in |nsIDeviceContext|. bug 156043 enhanched the API for that - this bug should cleanup the remaining parts.
I can take the bug if noone else steps-up to close this pandora-like box of pure evil...
Background: The main problem is that we have - at least - two different sets of gfx modules - one for normal display and one for printing. Obtaining rendering contexts (and other classes like |nsIFontMetrics|) via the component manager assumes that there is only one instance of one gfx module which is not true in our current design which allows multiple instances of various gfx modules.
Summary: RFE: Remove NS_RENDERING_CONTEXT_CID and related code → [RFE] Remove NS_RENDERING_CONTEXT_CID and related code
You better take this... attinasi's sure not fixing it....
Boris Zbarsky wrote: > You better take this... attinasi's sure not fixing it.... Yes... unfortunately... ;-( ---- Taking myself...
Assignee: attinasi → Roland.Mainz
[RFE] is deprecated in favor of severity: enhancement. They have the same meaning.
Severity: normal → enhancement
Summary: [RFE] Remove NS_RENDERING_CONTEXT_CID and related code → Remove NS_RENDERING_CONTEXT_CID and related code
Component: Layout → Layout: Misc Code
Someone did this a long time ago.
Status: NEW → RESOLVED
Last Resolved: 8 years ago
Resolution: --- → FIXED
Component: Layout: Misc Code → Layout
Product: Core Graveyard → Core
You need to log in before you can comment on or make changes to this bug.