[Bug 30126] Matrix Games - Distant Worlds fails on startup (GdipDrawEllipse fails to draw ellipse without HDC)

wine-bugs at winehq.org wine-bugs at winehq.org
Sat Mar 10 13:10:44 CST 2012


http://bugs.winehq.org/show_bug.cgi?id=30126

Anastasius Focht <focht at gmx.net> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
            Summary|Matrix Games - Distant      |Matrix Games - Distant
                   |Worlds fails on startup     |Worlds fails on startup
                   |                            |(GdipDrawEllipse fails to
                   |                            |draw ellipse without HDC)

--- Comment #5 from Anastasius Focht <focht at gmx.net> 2012-03-10 13:10:44 CST ---
Hello Vincent,

--- quote ---
Sure you didn't see any FIXME's from gdiplus, perhaps relating to
GdipDrawEllipse?
--- quote ---

Yes, there were a bunch of GdipDrawEllipse() FIXME's complaining about
"graphics object has no HDC", called from I0dnVLPuf6uVarpxEFTlj2r().

My bad, I only payed attention to gdiplus return code "Ok" in trace log but
missed that GdipDrawEllipse() actually got short-circuited without drawing
ellipse itself :|

Source:
http://source.winehq.org/git/wine.git/blob/0d7bc4b325de1788dc2643ac84d5579bed82d562:/dlls/gdiplus/graphics.c#l2589

--- snip ---
2589 GpStatus WINGDIPAPI GdipDrawEllipse(GpGraphics *graphics, GpPen *pen, REAL
x,
2590     REAL y, REAL width, REAL height)
2591 {
2592     INT save_state;
2593     GpPointF ptf[2];
2594     POINT pti[2];
2595 
2596     TRACE("(%p, %p, %.2f, %.2f, %.2f, %.2f)\n", graphics, pen, x, y,
width, height);
2597 
2598     if(!graphics || !pen)
2599         return InvalidParameter;
2600 
2601     if(graphics->busy)
2602         return ObjectBusy;
2603 
2604     if (!graphics->hdc)
2605     {
2606         FIXME("graphics object has no HDC\n");
2607         return Ok;
2608     }
...
2624     return Ok;
2625 }
--- snip ---

Maybe a temporary HDC helps here?

Regards

-- 
Configure bugmail: http://bugs.winehq.org/userprefs.cgi?tab=email
Do not reply to this email, post in Bugzilla using the
above URL to reply.
------- You are receiving this mail because: -------
You are watching all bug changes.



More information about the wine-bugs mailing list