- 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
- Fix include order of resources.
- remove comctl_Cn.rc, it contains and outdated simplified chineese translation, that wine has in comctl_Zh.rc
svn path=/trunk/; revision=50890
- Implement user flags/values and HeapSize APIs in debug page heap (nearly the same code in all three functions). With these done, DPH core features are complete. Some debugging is still needed.
svn path=/trunk/; revision=50888
Patch by Rafał Harabień :
- don't transform cordinates twice in GreExtTextOutW
- Fixes AbiWord toolbar
See issue #4811 for more details.
svn path=/trunk/; revision=50885
- DPH could be selectively enabled for a specific application by means of Image File Execution options. Commit a rewrite of LdrQueryImageFileExecution* APIs based on a quite old patch by Alex Ionescu along with my fixes.
- This is a forced measure to commit first step of an ntdll/ldr rewrite. This particular commit should not introduce any regressions, because previously that code part just barely worked.
svn path=/trunk/; revision=50884
Patch by Rafał Harabień :
- Create a new region covering the full desktop in UserRedrawDesktop instead of using Window->hrgnUpdate. Fixes "IntGdiCombineRgn requires hSrc2 != NULL" messages and redrawing issues on mode change.
See issue #5949 for more details.
svn path=/trunk/; revision=50881
add code to register pre/post systemcall hooks. Its #if 0'ed to avoid unneccessary overhead. Can be enabled for debugging puposes.
svn path=/trunk/; revision=50879
One-line fix for FsRtlIs*InExpression(). This fixes failing tests, but not overrun.
Added some breaks to reach more quickly the end
svn path=/trunk/; revision=50873
- Implement DPH version of ReAllocateHeap. Scenario of falling back to normal heap is stubbed everywhere now.
- Fix a bug in POINTER_ADD_BIAS which noone noticed.
svn path=/trunk/; revision=50872
Adding more tests for FsRtlIs*InExpression() functions.
All are failing (overrun / wrong result).
Based on Thomas Faber's C program.
See bug #5923
svn path=/trunk/; revision=50870
Fix special behaviour of wsprintf: when used with # flag, the "0x" prefix does not count into the field width, so we have to add additional 2 characters here. Fixes Opera installer.
See issue #5900 for more details.
svn path=/trunk/; revision=50866
Patch by EDIJS <terminedijs at yahoo dot com>: Improve window caption string.
By me: use StringCchCat instead of _tcscat to prevent possible buffer overruns.
See issue #5871 for more details.
svn path=/trunk/; revision=50864
Improve _getdrive and _tchdir. Patch by devpao (devotip at tiscali dot it), small formatting change by me.
See issue #5848 for more details.
svn path=/trunk/; revision=50861
- Implement heap free operation using already implemented busy/free/available/unused lists support and other base routines.
- Implement missing place to free list and remove from busy list routines.
- Implement find busy block routine (using AVL tree).
- Fix a bug in RtlpDphCoalesceNodeIntoAvailable() which resulted in unwanted attempt to merge the only node with itself (which failed anyway).
- Fix a bug in RtlpDphCoalesceNodeIntoAvailable() which incorrectly removed a node from available list (which is implemented as a standard NT double-linked list, compared to unused and free lists which are implemented as single-linked custom lists and busy list which is an AVL tree). Result of that bug was an infinite loop at the next attempt to traverse the list of available nodes.
- In RtlpDphCoalesceFreeIntoAvailable() break when FreeAllocations becomes less than LeaveOnFreeList (before it would break 1 size too early).
- Fix list traversal in RtlpDphSearchAvailableMemoryListForBestFit(). If it couldn't find a node, it would return the last node in the list instead of NULL.
- In RtlpDphFindAvailableMemory(), a new smaller size should be 4 times smaller, not just 2.
- Add a #if0-ed section in RtlpDphRemoveFromAvailableList which checks if a request to remove node not in the list performed. Used only for debugging.
- Add a trace dprint to every type of list insert/removal operation for easier tracking.
- Add break on NULL ptr freeing support.
- RtlpDphSetProtectionAfterUse() is stubbed and protection is set directly in RtlpDphHeapFree(). To be moved into this function.
svn path=/trunk/; revision=50860
- Check if there is a reset request in progress while the wave thread is active. In that case exit the wave buffer commiting activity
- In the reset routine, perform an alertable wait in order to make the apc io completion complete
[PORTCLS]
- Only perform copying audio bytes to dma buffer while the adapter is reset state is KSREST_END
- Set the reset state indicator before canceling the audio buffers
- Should fix the audio hang experienced in Winamp when skipping audio bytes
svn path=/trunk/; revision=50851
Don't mix tab index and memory length...
This fixes several bugs in GetTempFileNameW() and prevents memory corruption ~
Winetest regression is gone :)
svn path=/trunk/; revision=50849
Patch by Rafal Harabien, <rafalh1992 AT o2 DOT pl>:
- Fix Port numbers and ranges in HalpDefaultIoSpace (divide by 0x100)
By me:
- Fix DMA 1 port range and fix comment
See issue #5925 for more details.
svn path=/trunk/; revision=50848