Closed Bug 162024 Opened 22 years ago Closed 13 years ago

Remove NS_RENDERING_CONTEXT_CID and related code

Categories

(Core :: Layout, enhancement)

enhancement
Not set
normal

Tracking

()

RESOLVED FIXED

People

(Reporter: roland.mainz, Assigned: roland.mainz)

References

Details

(Keywords: helpwanted)

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....
Keywords: helpwanted
QA Contact: petersen → moied
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
->misc code
Component: Layout → Layout: Misc Code
QA Contact: moied → layout.misc-code
Someone did this a long time ago.
Status: NEW → RESOLVED
Closed: 13 years ago
Resolution: --- → FIXED
Product: Core → Core Graveyard
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.