Closed
Bug 549110
Opened 16 years ago
Closed 14 years ago
Crash [@ nsThebesRenderingContext::GetNativeGraphicData(nsIRenderingContext::GraphicDataType) ] entering text into textbox with D2D / DWrite
Categories
(Core :: Graphics, defect)
Tracking
()
RESOLVED
INVALID
People
(Reporter: midnightazbug, Assigned: bas.schouten)
References
Details
(Keywords: crash)
Crash Data
Attachments
(2 files)
|
983 bytes,
patch
|
jrmuizel
:
review-
|
Details | Diff | Splinter Review |
|
7.11 KB,
patch
|
vlad
:
review+
|
Details | Diff | Splinter Review |
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.0; en-US; rv:1.9.3a2pre) Gecko/20100226 Minefield/3.7a2pre
Build Identifier:
Happened while writing a bugzilla comment, haven't been able to reproduce. The signature seems to point to the new D2D / Dwrite code and noone else has hit it yet according to crash-stats, so I thought I'd file anyway.
http://crash-stats.mozilla.com/report/index/6d536f66-6653-4d04-9d2f-4f1062100227
Reproducible: Sometimes
| Assignee | ||
Comment 1•16 years ago
|
||
Wow, yes, that is quite evil code, that just assumes the surface is a gfxWindowsSurface without doing any checking whatsoever. It would definitely crash if it gets hit.
| Assignee | ||
Comment 2•16 years ago
|
||
Assignee: nobody → bas.schouten
Status: UNCONFIRMED → ASSIGNED
Ever confirmed: true
Attachment #429510 -
Flags: review?(jmuizelaar)
| Assignee | ||
Comment 3•16 years ago
|
||
We might also want to return something for Win32Printing, but I doubt that's ever used.
Comment 4•16 years ago
|
||
Are you sure returning null is the right thing to do here? Should we even support calling this function on D2D surfaces?
Comment 5•16 years ago
|
||
It looks like we use the HDC for measuring theme stuff with GetThemePartSize. That seems like something we'd still need to do when using D2D so I think we'll need to come up with a different solution than just returning null.
| Assignee | ||
Comment 6•16 years ago
|
||
(In reply to comment #5)
> It looks like we use the HDC for measuring theme stuff with GetThemePartSize.
> That seems like something we'd still need to do when using D2D so I think we'll
> need to come up with a different solution than just returning null.
The code here deals with getting null returned though. Meaning it might lay something out wrong, but we don't crash. And regardless that function should type check before the cast regardless, so I personally think that patch is good anyway.
Comment 7•16 years ago
|
||
Comment on attachment 429510 [details] [diff] [review]
Only return WINDOWS_NATIVE_DC for Win32 surfaces
As discussed with Bas we need a better solution. GetNativeGraphicData is only called in 4 places: here, in the video code (bug 549331) and in the os/2 plugin printing code. I'd rather just remove this stuff instead of using a bandaid. I've created bug 549415 for that purpose.
Attachment #429510 -
Flags: review?(jmuizelaar) → review-
Comment 8•15 years ago
|
||
I hit this today. First time. But I thought I'd post it here to let people know it still seems to be around:
http://crash-stats.mozilla.com/report/index/bp-9716c98b-1331-4c1b-9bf2-8f63b2100518
Comment 9•15 years ago
|
||
This gets rid of the use of GetNativeGraphicData(), we still need to figure out what to do for D2D.
Attachment #447332 -
Flags: review?(vladimir)
Comment on attachment 447332 [details] [diff] [review]
Add NativeMeasuring
>+ /* Returns a HDC which may be used for native measuring. This HDC is valid
>+ * until EndNativeDrawing is called; if it is used for drawing after that time,
>+ * the result is undefined. */
This comment refers to drawing; should refer to measuring (both method name and "if it is used for...").
Attachment #447332 -
Flags: review?(vladimir) → review+
Updated•14 years ago
|
Crash Signature: [@ nsThebesRenderingContext::GetNativeGraphicData(nsIRenderingContext::GraphicDataType) ]
Comment 11•14 years ago
|
||
Crash reports here no longer work. Please re-open if this is still an issue.
Status: ASSIGNED → RESOLVED
Closed: 14 years ago
Resolution: --- → INVALID
You need to log in
before you can comment on or make changes to this bug.
Description
•