- Raster operations in user mode are on higher bytes, whereas they are on lower bytes for drivers. Try to clarify this situation.
- Add sanity check about what was said previously.
- Implement masking in EngBitBlt
- Rewrite NtGdiMaskBlt accordingly
- Realize the palette when selecting it into a device DC.
- When applying raster operation, do so only on 24 bits, we don't support alpha channel in win32k
This fixes VLC pink icons, Timo's MaskBlt tests and probably a lot of other things.
[SHELL32]
- Use correct (?) raster operations for drawing sjortcuts.
Also note that now NtGdiMaskBlt locks the device contexts : this should avoid some race conditions, such as icons drawn on top of windows and the like.
Win32k sucks less.
So does reactos.
Dedicated to Timo. Sleep well, mate.
svn path=/trunk/; revision=50941
Fix calculating of ScanLines and source point in NtGdiGetDIBitsInternal for top-down bitmaps to more closely mimic win xp behavior. (Timo - high five for your test app)
See issue #5524 for more details.
svn path=/trunk/; revision=50935
- Clarify the meaning and the use of 0, 1 and 2 for user window regions, wine never did. Noticing patches not corresponding in correctness and understanding, leaving potential crashes in the DCE code, which depend on these types.
- Patch based on Rafal Harabien patch, fixes wine msg SetWindowRgn test, see also bug 5959.
svn path=/trunk/; revision=50933
- Protect whole contents of ScmStartService() with a critical section instead of just a few parts of ScmStartUserModeService(). Seems to fix the comment #8 issue of bug #5924.
svn path=/trunk/; revision=50930
- remove duplicate prototype
- use RGB macro where possible
- we create BGR palette for RGB DIB sections, let's do the other way around
- simplify overcomplicated IntGetDIBColorTable
- Add a first implementation of IntRealizePalette
No, it's not the VLC icons bugfix
svn path=/trunk/; revision=50928
Protect the service start and sending of control packages by critical sections. This way, services will be started one by one and control packages will also be sent one by one.
Please test if this fixes bug #5924.
svn path=/trunk/; revision=50926
- mark surface as not selected in DC_vSelectSurface when its released from a DC
NtGdiSelectBitmap:
- Don't allow selecting a bitmap into a dc that is already selected!
- Use DC_vSelectSurface instead of manually selecting
- set the DC size based on bitmap size
svn path=/trunk/; revision=50921
- In NtGdiGetDIBitsInternal use a shared lock for the bitmaps and provide background colors when initializing the XLATEOBJ. This fixes mono bitmaps passed to GetDIBits. (no it does not fix pink icons in VLC)
- In BuildDIBPalette don't handle 15bpp, its not valid. and 16 bpp is 555, this is documented in MSDN.
svn path=/trunk/; revision=50920
In GetDIBits convert a BITMAPCOREHEADER to a BITMAPINFOHEADER before calling win32k, like done in other places. Convert it back after. This allows to simplify NtGdiGetDIBitsInternal (not done yet)
svn path=/trunk/; revision=50918
Fix a serious bug, where NtAllocateVirtualMemory could allocate memory user mode memory above MmHighestUserAddress up to MmSystemRangeStart - 1, which is a no-access area.
svn path=/trunk/; revision=50917
Do not initialize the URL-Cache for a system process.
Patch will be submitted to WINE.
See issue #5372 for more details.
svn path=/trunk/; revision=50916
Start unifying kernel32 Find* functions.
All calls end in same methods that are working only in unicode now.
Next step would be to unify stream & files using only one struct.
svn path=/trunk/; revision=50913
- P.S. Not much of an issue if it's lost during the next tests sync, as it would be a clearly visible change.
See issue #5771 for more details.
svn path=/trunk/; revision=50908
French translation by Jason Toscano <JasonGenie at gmail dot com>
Corrections/adjustements by me
See issue #5921 for more details.
svn path=/trunk/; revision=50906
For both FsRtlIsNameInExpression() & FsRtlIsDbcsInExpression():
As both UNICODE_STRING & ANSI_STRING might not be NULL-termined, don't attempt to read null char.
This fixes potential buffer overruns.
Then it fixes some (all?) 'TempPte.u.Long != 0' assertion failure.
See issue #5923 for more details.
svn path=/trunk/; revision=50904
Revert part of r47411. The revision was a wine sync, but no wine code was reverted, only the use of zlib is disabled. Fixes downloading audiograbber with rapps.
See issue #5663 for more details.
svn path=/trunk/; revision=50903
- In BITMAP_CopyBitmap, also "copy" the palette of the source bitmap, instead of assuming the one created by GreCreateBitmapEx matches the bitmap bits we have copied.
Fixes broken colors on the firefox firstrun page
See issue #5902 for more details.
svn path=/trunk/; revision=50902
Bug 5957
Disable test_shell_window() in user32:win test.
Allow to run previously disabled tests in WINE_INTERACTIVE mode.
svn path=/trunk/; revision=50901
- Check if the provided waveformat is at least size of WAVEFORMAT
- Compute extra details such as the size or wBitsPerSample from the provided members
- Backup i/o completion handle before commiting the audio buffer as the struct might have already been released
- Fixes playback of mmsys cpl
- Found by DPH!
svn path=/trunk/; revision=50900
- Fix wrong pointer comparison in RtlpDebugPageHeapFree(). Should check for NULL pointer freeing, instead of checking for NULL heap pointer.
svn path=/trunk/; revision=50898
- Store the internal state if an audio stream has been stopped
- Construct a thread when WODM_RESTART is received. This thread then triggers performs a callback to the wave thread, which finally restarts playback
- Only start the wave thread when playback is active (not paused by WODM_PAUSE)
- Fixes playback in Winamp 5.601 despite graphical issues
- Tested in Vbox 4.0 + 512MB RAM + Winamp 5.601
svn path=/trunk/; revision=50897
Fix biCompression filed in the DIBSECTION structure, returned by BITMAP_GetObject. Fixes K-Meleon toobar. Kudos for the fix go to Rafał Harabień.
See issue #5940 for more details.
svn path=/trunk/; revision=50896
- Don't leave packageinfo uninitialized. Even though it's not the way it should work, wine's rpcrt4 doesn't really expect that function to return no packages at all. Should prevent freeing an unitialized pointer.
See issue #5778 for more details.
svn path=/trunk/; revision=50895
- Set wave in pins into run state
- Fixes hang of ReactOS sndrec32, though it crashes then instantly. Needs more investigation
svn path=/trunk/; revision=50894