Commit Graph

53 Commits

Author SHA1 Message Date
Zebediah Figura 9a4a722fcc quartz: Always return S_FALSE from DllCanUnloadNow().
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-08-26 09:34:00 +02:00
Zebediah Figura 4e74fdcebe quartz: Free outstanding advise requests when destroying a system clock.
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-07-20 12:13:40 +02:00
Zebediah Figura 4df1a5831c quartz: Use a condition variable to wake up the system clock advise thread.
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-07-20 12:13:35 +02:00
Zebediah Figura 6c0ddfee9d quartz: Factor out more of AdviseTime() and AdvisePeriodic().
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-07-20 12:13:29 +02:00
Zebediah Figura cb3dc98928 quartz: Implement proper DLL refcounting.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=48734
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-03-13 09:42:49 +01:00
Zebediah Figura 56a6bc87ac quartz: Pass an IUnknown pointer to the object creation functions.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-03-12 10:12:03 +01:00
Zebediah Figura eea01d8e8b quartz: Introduce a helper to trace reference time.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-01-31 10:19:19 +01:00
Gabriel Ivăncescu 14435a6d31 quartz: Reset the advise thread's timeout on each iteration.
Fixes a regression introduced by
63a6b308e9. Because the timeout value was
always shrinked, it quickly went to 0 and then the entire advise thread
used 100% of a CPU core in applications such as Media Player Classic by
basically becoming a busy loop.

Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2020-01-02 17:40:15 +01:00
Zebediah Figura d21dbf960b quartz/systemclock: Support COM aggregation.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-11-29 08:23:10 +01:00
Zebediah Figura fb504baaa8 strmbase: Build with msvcrt.
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-08-05 18:49:31 +02:00
Zebediah Figura 2adc44df2e quartz/systemclock: Create the advise thread after the events it depends on.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-06-21 08:05:58 +02:00
Zebediah Figura 5811cac5c2 quartz/systemclock: Avoid a use-after-free (Coverity).
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-04-08 09:55:22 +02:00
Zebediah Figura f55e90a508 quartz/systemclock: Get rid of the SystemClockImpl typedef.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-03-18 10:11:17 +01:00
Zebediah Figura 6f3238168e quartz/systemclock: Clean up the remaining IUnknown methods.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-03-18 10:11:14 +01:00
Zebediah Figura 1ecf2bf129 quartz/systemclock: Store all the sinks in a single list.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-03-18 10:11:07 +01:00
Zebediah Figura 76e6fc92f9 quartz/systemclock: Avoid using the sink structure pointer as a cookie.
The same pointer address may be allocated to multiple different structures.

Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-03-18 10:11:03 +01:00
Zebediah Figura ba5a6436f8 quartz/systemclock: Clarify some field names.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-03-15 20:00:57 +01:00
Zebediah Figura b5eff130a7 quartz/systemclock: Also wake the semaphore at the given start time.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-03-15 20:00:55 +01:00
Zebediah Figura 9ff0c09e38 quartz/systemclock: Simplify notifying the advise thread.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-03-15 20:00:47 +01:00
Zebediah Figura 0467b96c4f quartz/systemclock: Use GetTickCount64() directly.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-03-15 20:00:45 +01:00
Zebediah Figura d7e9563b15 quartz/systemclock: Use the standard linked list implementation.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-03-15 20:00:39 +01:00
Zebediah Figura fa26231748 quartz/systemclock: Use the global HeapAlloc() wrappers.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-03-15 00:31:00 +01:00
Zebediah Figura 9068ad0f09 quartz/systemclock: Simplify SystemClockImpl_GetTime().
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-03-13 23:40:39 +01:00
Michael Stefaniuc 9d704afd93 quartz: Don't create the advise thread during the clock teardown.
Signed-off-by: Michael Stefaniuc <mstefani@winehq.org>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2018-02-26 16:40:23 +01:00
Nikolay Sivov 5fb58eae3b quartz: Minor cleanup of returned interface pointers.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-10-21 21:09:10 +09:00
Sebastian Lackner b513e07c55 quartz: Fix handling of periodic advice timers. 2015-06-08 15:34:09 +09:00
Marcus Meissner de7635a2f0 quartz: Avoid linked list walk with free next (Coverity). 2012-08-20 10:55:11 +02:00
Michael Stefaniuc 9a0f38e211 quartz: Use an iface instead of a vtbl pointer in SystemClockImpl. 2010-12-09 12:22:33 +01:00
Maarten Lankhorst 70b31cf0ce quartz: Use unicode calls in SystemClock. 2010-12-03 14:28:30 +01:00
Michael Stefaniuc cc7fc4abef quartz: Remove superfluous pointer casts. 2009-01-29 14:06:01 +01:00
Michael Stefaniuc 1a18b797eb quartz: Don't cast zero. 2008-12-05 12:36:24 +01:00
Andrew Talbot 8caed63edb quartz: Remove unneeded casts. 2008-01-17 13:42:14 +01:00
Lei Zhang f5075f7356 quartz: Set *ppvObject to NULL if QueryInterface fails. 2007-12-13 14:34:07 +01:00
Alex Villacís Lasso 7319157d7d quartz: Fix IReferenceClock::GetTime() implementation for system clock. 2007-08-13 12:23:37 +02:00
Andrew Talbot a894ab6bd0 quartz: Exclude unused headers. 2007-05-17 12:44:57 +02:00
Jan Zerebecki b5619e8628 quartz: Add DebugInfo to critical sections.
Also add missing DeleteCriticalSection.
2007-03-12 13:39:49 +01:00
Chris Robinson 045270605c quartz: Use proper alloc/free functions for COM objects. 2007-03-08 13:53:54 +01:00
Francois Gouget 9fe4673347 Don't include windows.h & co in the Wine sources.
Remove uneeded COM_NO_WINDOWS_H defines.
2006-10-24 17:47:09 +02:00
Hans Leidekker cfbb859f59 quartz: Win64 printf format warning fixes. 2006-10-13 12:08:41 +02:00
Stefan Leichter 19d275f775 quartz: Print 64bit integers with wine_dbgstr_longlong. 2006-08-18 20:56:20 +02:00
Jonathan Ernst 360a3f9142 Update the address of the Free Software Foundation. 2006-05-23 14:11:13 +02:00
Mike McCormack 0791d06215 Interlocked LONG* gcc warning fixes. 2005-07-12 19:21:36 +00:00
Dmitry Timoshkov eba47f1dfe Make remaining OLE interface vtables const. 2005-06-06 19:50:35 +00:00
Eric Pouech cf1d00bb08 Removed excessive statement (break after return or goto, not useful
break, not needed vars...)
2005-01-09 16:42:53 +00:00
Paul Vriens c6559a104c - Use Interlocked* functions in AddRef and Release.
- Store the result of the Interlocked functions and use only this.
2005-01-06 19:36:47 +00:00
Christian Costa 1d90e4312f Many fixes to the system clock implementation.
Ensure there is a clock before doing any AddRef or Release in the AVI
splitter.
Improved tests a bit.
Misc fixes and traces clean-up.
2004-12-16 14:25:15 +00:00
Alexandre Julliard ebe3c529b1 Janitorial: C booleans must not be compared against TRUE. 2004-12-09 14:07:59 +00:00
Christian Costa ce70daf3ec Allocate the proper size for the SystemClock object. 2004-12-08 19:33:09 +00:00
Alexandre Julliard f5f7a1822c Removed some more uses of the non-standard ICOM_THIS macro. 2004-09-08 01:50:37 +00:00
Alexandre Julliard f714b39762 Get rid of the no longer used ICOM_MSVTABLE_COMPAT_DummyRTTIVALUE
macro.
2004-08-23 19:39:48 +00:00