Do not free the memory for the bitmap bits, when you have not allocated them. Fixes bugcheck with VBox driver.
svn path=/branches/reactos-yarotows/; revision=47609
- Allocate bitmaps as kernel sections, instead of from paged pool, like it's done in windows.
- Fix SURFACE_Cleanup. It was only freeing the memory for API_BITMAPs. If memory was allocated by a driver it never got freed.
- Add BMF_RLE_HACK flag to free decompressed RLE bits
- Support FL_ZERO_MEMORY in EngAllocSectionMem
- Set SURFOBJ::iType when creating a surface
svn path=/branches/reactos-yarotows/; revision=47606
- Simplify the logic of the mapping functions a bit, by using either FILEVIEW or ENGSECTION, not both.
- Set FILEVIEW::LastWriteTime
svn path=/branches/reactos-yarotows/; revision=47591
- There is no need to recalculate size of the Icon, we already have this piece of information
- Draw monochrome cursor/icons, not only their mask.
svn path=/branches/reactos-yarotows/; revision=47495
- Simplify UserDrawIconEx
- NtUserCreateCursorIconHandle : Get Information from bitmaps even on indirect creation and fix calculation of icon height in case of monochrome icons.
Fixes ~15 user32:cursoricon winetests.
svn path=/branches/reactos-yarotows/; revision=47451
- Change ChangeDisplaySettingsExA to look more like wine's one
[WIN32K]
- Return correct value if buffer is to small in UserChangeDisplaySettings (wine tests)
- Do not set an invalid size to the devmode we're passing ti UserChangeDisplaySettings, we might access garbage
Now all ChangeDisplaySettings related wine tests pass.
svn path=/branches/reactos-yarotows/; revision=47386
- Set right flags when reading display modes from registry
- Implement UserEnumRegistryDisplaySettings
svn path=/branches/reactos-yarotows/; revision=47356
- Check devmode size in NtUserChangeDisplaySettings
- Copy memory instead of setting fields in UserEnumDisplaySettings, so we don't lost anything.
svn path=/branches/reactos-yarotows/; revision=47355
- UserChangeDisplaySettings : add some checks and fixes to what was passed to us
More wine tests pass.
svn path=/branches/reactos-yarotows/; revision=47354
- Set DISPLAY_DEVICE_PRIMARY_DEVICE to Graphics device object when creating the primary device object
- switch state flags of the graphics device objects when switching mode
- Only compare valid fields when searching for a device mode in a device object
- implement CDS_TEST flag in NtUserSetDisplaySettings
svn path=/branches/reactos-yarotows/; revision=47353
- When initializing the EXLATEOBJ to translate the solid brush color in EBRUSHOBJ_vSetSolidBrushColor, also pass the EBRUSHOBJs back color. This fixes wrong colors when the destination surface is mono (e.g. disabled buttons)
svn path=/branches/reactos-yarotows/; revision=47269
- clean up some debugging code
- set NULL owner when setting BASEFLAG_READY_TO_DIE, so that the handle can be freed.
svn path=/branches/reactos-yarotows/; revision=47217
- clean up some unused code
- use GDIOBJ_IncrementShareCount on Timo suggestion
- use ppdev semaphore as sort criterion in DC_vPrepareDCsForBlit, spotted by Timo
- Get ownership before freeing the object in GDIOBJ_ShareUnlockObjByPtr, as whoever set it ready to die had the right to
svn path=/branches/reactos-yarotows/; revision=47205
- IntGdiCreateBitmap : assign a default palette to the bitmap created
- Use IntCreateBitmap where we already have a bitmap to assign
- delete all mono bitmaps related hacks in xlateobj implementation, as now all bitmaps should have a palette
Fixes last immediately visible glitches when switching modes
svn path=/branches/reactos-yarotows/; revision=47203
- remove a comment which is not true anymore
[USER32]
- Create a bitmap which is compatible with the bitmap'we are copying in CreateSmallIcon
Icons are back in taskbar
svn path=/branches/reactos-yarotows/; revision=47143
- Set NULL owner to copied bitmap when creating indirect icons
- Rewrite UserDrawIconEx, inspired from wine code
- fix palette creation for 16 bits DIB
- Always assign a palette to bitmap created with BITMAP_CopyBitmap and IntCreateCompatibeBitmap.
[USER32]
- Use DIB section when creating icons
- Use something called "header"
Now mode switching is almost glitchless.
svn path=/branches/reactos-yarotows/; revision=47140
- attach devinfo->hpalDefault to the pdevobj after enabling it
- attach this palette to surfaces attached to this pdevobj through EngModifySurface
- use this palette in several place
Partially fixes icon drawing after mode switch
svn path=/branches/reactos-yarotows/; revision=47137
- Allow NtGdiDeleteObjectApp to delete a permanent DC, as windows does it.
This is not exactly what windows does, but no one should use a DeletedDC'ed DC anyway.
Fixes "No! You Naughty Application" debug spam and some wine tests
svn path=/branches/reactos-yarotows/; revision=47131
- Use device string when given one in IntCreateDIC
[WIN32K]
- Exchange pdevmode when excahnging PDEVOBJ pointers
- Update Globals gdi devcaps when switching mode if ppdev is the primary surface
svn path=/branches/reactos-yarotows/; revision=47044
- Call DC_vPrepareDCsForBlit in IntRectangle with device coordinates instead of in NtGdiRectangle with logical coordinates. Fixes updating mouse pointer.
- Update TODO.txt
svn path=/branches/reactos-yarotows/; revision=46986
- Use the attached surface bits depth when creating a compatible DC
[USER32]
- use a display DC for loading images
svn path=/branches/reactos-yarotows/; revision=46981
- move IntEngMovePointer code into GreMovePointer
- Delete the mouse cursor before mode switch, to force setting a new one after a mode switch. Fixes cursor artifacts after mode change.
- Update TODO.txt
svn path=/branches/reactos-yarotows/; revision=46976
- Remove an ASSERT in DC_Cleanup
- Improve code in PDEVOBJ_vSwitchPdev (code shamelessly stolen from Jerome's earlier commit)
- Fix up GDIINFO in PDEVOBJ_bEnablePDEV instead of EngpCreatePDEV
- Update TODO.txt
svn path=/branches/reactos-yarotows/; revision=46975
- revert unwanted change from r46964
- Use MouseSafetyOnDrawStart/End in GreExtTextOutW when we already hold the blit lock
svn path=/branches/reactos-yarotows/; revision=46969