Module: wine
Branch: master
Commit: bd111803d289eb6e6b82473a3d8641563237ea5b
URL: http://source.winehq.org/git/wine.git/?a=commit;h=bd111803d289eb6e6b82473a3…
Author: Francois Gouget <fgouget(a)free.fr>
Date: Thu Feb 18 03:18:13 2016 +0100
shell32/tests: Only look for Explorer windows for the progman tests.
In the Spanish locale the 'Startup' folder is called 'Inicio' which
matches another window. Closing that window causes the shutdown dialog
to pop up, resulting in a test timeout.
Signed-off-by: Francois Gouget <fgouget(a)free.fr>
Signed-off-by: Alexandre Julliard <julliard(a)winehq.org>
---
dlls/shell32/tests/progman_dde.c | 8 +++++++-
1 file changed, 7 insertions(+), 1 deletion(-)
diff --git a/dlls/shell32/tests/progman_dde.c b/dlls/shell32/tests/progman_dde.c
index a3faa83..4c9116e 100644
--- a/dlls/shell32/tests/progman_dde.c
+++ b/dlls/shell32/tests/progman_dde.c
@@ -372,7 +372,13 @@ static HWND CheckWindowCreated(const char *winName, BOOL closeWindow, int testPa
for (i = 0; window == NULL && i < PDDE_POLL_NUM; i++)
{
Sleep(PDDE_POLL_TIME);
- window = FindWindowA(NULL, winName);
+ /* Specify the window class name to make sure what we find is really an
+ * Explorer window. Explorer used two different window classes so try
+ * both.
+ */
+ window = FindWindowA("ExplorerWClass", winName);
+ if (!window)
+ window = FindWindowA("CabinetWClass", winName);
}
ok (window != NULL, "Window \"%s\" was not created in %i seconds - assumed failure.%s\n",
winName, PDDE_POLL_NUM*PDDE_POLL_TIME/1000, GetStringFromTestParams(testParams));
Module: wine
Branch: master
Commit: e5c120893dc164a0ce387ea10228b1a2f8094eaf
URL: http://source.winehq.org/git/wine.git/?a=commit;h=e5c120893dc164a0ce387ea10…
Author: Ken Thomases <ken(a)codeweavers.com>
Date: Wed Feb 17 13:42:54 2016 -0600
winemac: Wrap performing requests from background threads in an autorelease pool.
Cocoa manages an autorelease pool on the main thread, but it only drains it
when it processes an event. Our requests come through a run loop source, which
doesn't count as an event. So, autoreleased objects can accumulate when the
app is not being interacted with.
Signed-off-by: Ken Thomases <ken(a)codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard(a)winehq.org>
---
dlls/winemac.drv/cocoa_app.m | 5 +++++
1 file changed, 5 insertions(+)
diff --git a/dlls/winemac.drv/cocoa_app.m b/dlls/winemac.drv/cocoa_app.m
index fb9edc2..176d35c 100644
--- a/dlls/winemac.drv/cocoa_app.m
+++ b/dlls/winemac.drv/cocoa_app.m
@@ -2295,6 +2295,7 @@ static void PerformRequest(void *info)
for (;;)
{
+ NSAutoreleasePool* pool = [[NSAutoreleasePool alloc] init];
__block dispatch_block_t block;
dispatch_sync(controller->requestsManipQueue, ^{
@@ -2308,10 +2309,14 @@ static void PerformRequest(void *info)
});
if (!block)
+ {
+ [pool release];
break;
+ }
block();
[block release];
+ [pool release];
}
}