Last Comment Bug 162024 - Remove NS_RENDERING_CONTEXT_CID and related code
: Remove NS_RENDERING_CONTEXT_CID and related code
Status: RESOLVED FIXED
: helpwanted
Product: Core
Classification: Components
Component: Layout: Misc Code (show other bugs)
: Trunk
: All All
: -- enhancement with 1 vote (vote)
: ---
Assigned To: Roland Mainz
:
Mentors:
Depends on:
Blocks: 186293
  Show dependency treegraph
 
Reported: 2002-08-09 17:45 PDT by Roland Mainz
Modified: 2011-05-08 07:41 PDT (History)
6 users (show)
See Also:
Crash Signature:
(edit)
QA Whiteboard:
Iteration: ---
Points: ---
Has Regression Range: ---
Has STR: ---


Attachments

Description Roland Mainz 2002-08-09 17:45:36 PDT
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.
Comment 1 Roland Mainz 2002-08-09 17:49:19 PDT
I can take the bug if noone else steps-up to close this pandora-like box of pure
evil...
Comment 2 Roland Mainz 2002-08-09 18:19:25 PDT
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.
Comment 3 Boris Zbarsky [:bz] 2002-08-10 02:42:43 PDT
You better take this... attinasi's sure not fixing it....
Comment 4 Roland Mainz 2002-08-18 15:18:17 PDT
Boris Zbarsky wrote: 
> You better take this... attinasi's sure not fixing it....

Yes... unfortunately... ;-(

----

Taking myself...
Comment 5 Brant Gurganus 2002-10-13 11:20:18 PDT
[RFE] is deprecated in favor of severity: enhancement.  They have the same meaning.
Comment 6 Christopher Hoess (gone) 2003-04-06 11:04:37 PDT
->misc code
Comment 7 Zack Weinberg (:zwol) 2011-04-18 19:39:42 PDT
Someone did this a long time ago.

Note You need to log in before you can comment on or make changes to this bug.