[Bug 20598] Elements Do Not Appear in Patcher Dialogue Box in Perfectworld International
wine-bugs at winehq.org
wine-bugs at winehq.org
Mon Jan 11 20:28:26 CST 2010
http://bugs.winehq.org/show_bug.cgi?id=20598
--- Comment #36 from BD <bad_dude32065 at yahoo.com> 2010-01-11 20:28:26 ---
(In reply to comment #35)
> (In reply to comment #34)
> > (In reply to comment #33)
> > > (In reply to comment #32)
> > > > i dont see any corruption
> > >
> > > Black panel headers and black panel tab area.
> > ok, i see that. sorry for wasting you all's time. good luck on getting it fixed
> > because its out of my league. ( i was having fun and learned a lot tho :)
> > thanks for the patience.
>
> i fixed it :)
>
> INT WINAPI SetDIBits( HDC hdc, HBITMAP hbitmap, UINT startscan,
> UINT lines, LPCVOID bits, const BITMAPINFO *info,
> UINT coloruse )
> {
> DC *dc;
> BITMAPOBJ *bitmap;
> INT result = 0;
> BOOL bDesktopDC = FALSE;
>
> if (hdc == 0)
> {
> hdc = CreateCompatibleDC(0);
> bDesktopDC = TRUE;
> }
>
> if (!(dc = get_dc_ptr( hdc )))
> return 0;
>
> update_dc( dc );
>
> if (!(bitmap = GDI_GetObjPtr( hbitmap, OBJ_BITMAP )))
> {
> release_dc_ptr( dc );
> return 0;
> }
>
> if (!bitmap->funcs && !BITMAP_SetOwnerDC( hbitmap, dc )) goto done;
>
> result = lines;
> if (bitmap->funcs)
> {
> if (bitmap->funcs != dc->funcs)
> ERR( "not supported: DDB bitmap %p not belonging to device %p\n",
> hbitmap, hdc );
> else if (dc->funcs->pSetDIBits)
> result = dc->funcs->pSetDIBits( dc->physDev, hbitmap, startscan,
> lines,
> bits, info, coloruse );
> }
>
> done:
> GDI_ReleaseObj( hbitmap );
> release_dc_ptr( dc );
> return result;
> }
i added 2 release lines so complete code should be this:
INT WINAPI SetDIBits( HDC hdc, HBITMAP hbitmap, UINT startscan,
UINT lines, LPCVOID bits, const BITMAPINFO *info,
UINT coloruse )
{
DC *dc;
BITMAPOBJ *bitmap;
INT result = 0;
BOOL bDesktopDC = FALSE;
if (hdc == 0)
{
hdc = CreateCompatibleDC(0);
bDesktopDC = TRUE;
}
if (!(dc = get_dc_ptr( hdc )))
return 0;
update_dc( dc );
if (!(bitmap = GDI_GetObjPtr( hbitmap, OBJ_BITMAP )))
{
release_dc_ptr( dc );
if (hdc == 0) DeleteDC(hdc);
return 0;
}
if (!bitmap->funcs && !BITMAP_SetOwnerDC( hbitmap, dc )) goto done;
result = lines;
if (bitmap->funcs)
{
if (bitmap->funcs != dc->funcs)
ERR( "not supported: DDB bitmap %p not belonging to device %p\n",
hbitmap, hdc );
else if (dc->funcs->pSetDIBits)
result = dc->funcs->pSetDIBits( dc->physDev, hbitmap, startscan,
lines,
bits, info, coloruse );
}
done:
GDI_ReleaseObj( hbitmap );
release_dc_ptr( dc );
if (hdc == 0) DeleteDC(hdc);
return result;
}
please test and see if it all works ty
--
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