Commit c926959a authored by Vitaly Lipatov's avatar Vitaly Lipatov

commit 14.0.1 upon wine-1.7.25

parent f5674d08
...@@ -7718,9 +7718,31 @@ uninstall:: ...@@ -7718,9 +7718,31 @@ uninstall::
APPKIT_LIBS="-framework AppKit" APPKIT_LIBS="-framework AppKit"
LDEXECFLAGS="-image_base 0x7bf00000 -Wl,-segaddr,WINE_DOS,0x00001000,-segaddr,WINE_SHAREDHEAP,0x7f000000,-sectcreate,__TEXT,__info_plist,wine_info.plist" LDEXECFLAGS="-image_base 0x7bf00000 -Wl,-segaddr,WINE_DOS,0x00001000,-segaddr,WINE_SHAREDHEAP,0x7f000000,-sectcreate,__TEXT,__info_plist,wine_info.plist"
case $host_os in { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the compiler supports -Wl,-no_pie" >&5
darwin11*) LDEXECFLAGS="-Wl,-macosx_version_min,10.6 $LDEXECFLAGS" ;; $as_echo_n "checking whether the compiler supports -Wl,-no_pie... " >&6; }
esac if ${ac_cv_cflags__Wl__no_pie+:} false; then :
$as_echo_n "(cached) " >&6
else
ac_wine_try_cflags_saved=$CFLAGS
CFLAGS="$CFLAGS -Wl,-no_pie"
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
/* end confdefs.h. */
int main(int argc, char **argv) { return 0; }
_ACEOF
if ac_fn_c_try_link "$LINENO"; then :
ac_cv_cflags__Wl__no_pie=yes
else
ac_cv_cflags__Wl__no_pie=no
fi
rm -f core conftest.err conftest.$ac_objext \
conftest$ac_exeext conftest.$ac_ext
CFLAGS=$ac_wine_try_cflags_saved
fi
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_cflags__Wl__no_pie" >&5
$as_echo "$ac_cv_cflags__Wl__no_pie" >&6; }
if test "x$ac_cv_cflags__Wl__no_pie" = xyes; then :
LDEXECFLAGS="-Wl,-no_pie $LDEXECFLAGS"
fi
if test "$ac_cv_header_DiskArbitration_DiskArbitration_h" = "yes" if test "$ac_cv_header_DiskArbitration_DiskArbitration_h" = "yes"
then then
DISKARBITRATION_LIBS="-framework DiskArbitration -framework CoreFoundation" DISKARBITRATION_LIBS="-framework DiskArbitration -framework CoreFoundation"
......
...@@ -762,9 +762,8 @@ uninstall:: ...@@ -762,9 +762,8 @@ uninstall::
AC_SUBST(CORESERVICES_LIBS,"-framework CoreServices") AC_SUBST(CORESERVICES_LIBS,"-framework CoreServices")
AC_SUBST(APPKIT_LIBS,"-framework AppKit") AC_SUBST(APPKIT_LIBS,"-framework AppKit")
LDEXECFLAGS="-image_base 0x7bf00000 -Wl,-segaddr,WINE_DOS,0x00001000,-segaddr,WINE_SHAREDHEAP,0x7f000000,-sectcreate,__TEXT,__info_plist,wine_info.plist" LDEXECFLAGS="-image_base 0x7bf00000 -Wl,-segaddr,WINE_DOS,0x00001000,-segaddr,WINE_SHAREDHEAP,0x7f000000,-sectcreate,__TEXT,__info_plist,wine_info.plist"
case $host_os in WINE_TRY_CFLAGS([-Wl,-no_pie],
darwin11*) LDEXECFLAGS="-Wl,-macosx_version_min,10.6 $LDEXECFLAGS" ;; [LDEXECFLAGS="-Wl,-no_pie $LDEXECFLAGS"])
esac
if test "$ac_cv_header_DiskArbitration_DiskArbitration_h" = "yes" if test "$ac_cv_header_DiskArbitration_DiskArbitration_h" = "yes"
then then
dnl DiskArbitration API is not public on Darwin < 8.0, use it only if header found dnl DiskArbitration API is not public on Darwin < 8.0, use it only if header found
......
...@@ -251,12 +251,12 @@ DWORD WINAPI GetFullPathNameA( LPCSTR name, DWORD len, LPSTR buffer, ...@@ -251,12 +251,12 @@ DWORD WINAPI GetFullPathNameA( LPCSTR name, DWORD len, LPSTR buffer,
LPSTR *lastpart ) LPSTR *lastpart )
{ {
WCHAR *nameW; WCHAR *nameW;
WCHAR bufferW[MAX_PATH]; WCHAR bufferW[MAX_PATH], *lastpartW = NULL;
DWORD ret; DWORD ret;
if (!(nameW = FILE_name_AtoW( name, FALSE ))) return 0; if (!(nameW = FILE_name_AtoW( name, FALSE ))) return 0;
ret = GetFullPathNameW( nameW, MAX_PATH, bufferW, NULL); ret = GetFullPathNameW( nameW, MAX_PATH, bufferW, &lastpartW);
if (!ret) return 0; if (!ret) return 0;
if (ret > MAX_PATH) if (ret > MAX_PATH)
...@@ -267,14 +267,10 @@ DWORD WINAPI GetFullPathNameA( LPCSTR name, DWORD len, LPSTR buffer, ...@@ -267,14 +267,10 @@ DWORD WINAPI GetFullPathNameA( LPCSTR name, DWORD len, LPSTR buffer,
ret = copy_filename_WtoA( bufferW, buffer, len ); ret = copy_filename_WtoA( bufferW, buffer, len );
if (ret < len && lastpart) if (ret < len && lastpart)
{ {
LPSTR p = buffer + strlen(buffer) - 1; if (lastpartW)
*lastpart = buffer + FILE_name_WtoA( bufferW, lastpartW - bufferW, NULL, 0 );
if (*p != '\\') else
{ *lastpart = NULL;
while ((p > buffer + 2) && (*p != '\\')) p--;
*lastpart = p + 1;
}
else *lastpart = NULL;
} }
return ret; return ret;
} }
......
...@@ -1828,6 +1828,7 @@ static void test_GetFullPathNameA(void) ...@@ -1828,6 +1828,7 @@ static void test_GetFullPathNameA(void)
char output[MAX_PATH], *filepart; char output[MAX_PATH], *filepart;
DWORD ret; DWORD ret;
int i; int i;
UINT acp;
const struct const struct
{ {
...@@ -1864,6 +1865,27 @@ static void test_GetFullPathNameA(void) ...@@ -1864,6 +1865,27 @@ static void test_GetFullPathNameA(void)
"[%d] Expected GetLastError() to return 0xdeadbeef, got %u\n", "[%d] Expected GetLastError() to return 0xdeadbeef, got %u\n",
i, GetLastError()); i, GetLastError());
} }
acp = GetACP();
if (acp != 932)
skip("Skipping DBCS(Japanese) GetFullPathNameA test in this codepage (%d)\n", acp);
else {
const struct dbcs_case {
const char *input;
const char *expected;
} testset[] = {
{ "c:\\a\\\x95\x5c\x97\xa0.txt", "\x95\x5c\x97\xa0.txt" },
{ "c:\\\x83\x8f\x83\x43\x83\x93\\wine.c", "wine.c" },
{ "c:\\demo\\\x97\xa0\x95\x5c", "\x97\xa0\x95\x5c" }
};
for (i = 0; i < sizeof(testset)/sizeof(testset[0]); i++) {
ret = GetFullPathNameA(testset[i].input, sizeof(output),
output, &filepart);
ok(ret, "[%d] GetFullPathName error %u\n", i, GetLastError());
ok(!lstrcmpA(filepart, testset[i].expected),
"[%d] expected %s got %s\n", i, testset[i].expected, filepart);
}
}
} }
static void test_GetFullPathNameW(void) static void test_GetFullPathNameW(void)
......
...@@ -7648,6 +7648,16 @@ UINT ACTION_PerformAction(MSIPACKAGE *package, const WCHAR *action, UINT script) ...@@ -7648,6 +7648,16 @@ UINT ACTION_PerformAction(MSIPACKAGE *package, const WCHAR *action, UINT script)
TRACE("Performing action (%s)\n", debugstr_w(action)); TRACE("Performing action (%s)\n", debugstr_w(action));
/* CrossOver Hack #12413 for Quicken 2015 Premier. Don't install the PDF driver */
{
static const WCHAR pdf[] = {'I','n','s','t','a','l','l','P','D','F','D','r','i','v','e','r',0};
if (!strcmpiW(action, pdf))
{
FIXME("HACK: Skipping installation of pdf driver\n");
return rc;
}
}
handled = ACTION_HandleStandardAction(package, action, &rc); handled = ACTION_HandleStandardAction(package, action, &rc);
if (!handled) if (!handled)
......
...@@ -363,9 +363,6 @@ static BOOL grab_clipping_window( const RECT *clip ) ...@@ -363,9 +363,6 @@ static BOOL grab_clipping_window( const RECT *clip )
HWND msg_hwnd = 0; HWND msg_hwnd = 0;
POINT pos; POINT pos;
if (GetWindowThreadProcessId( GetDesktopWindow(), NULL ) == GetCurrentThreadId())
return TRUE; /* don't clip in the desktop process */
if (!data) return FALSE; if (!data) return FALSE;
if (!(clip_window = init_clip_window())) return TRUE; if (!(clip_window = init_clip_window())) return TRUE;
...@@ -1387,6 +1384,9 @@ BOOL CDECL X11DRV_ClipCursor( LPCRECT clip ) ...@@ -1387,6 +1384,9 @@ BOOL CDECL X11DRV_ClipCursor( LPCRECT clip )
if (!clip) clip = &virtual_rect; if (!clip) clip = &virtual_rect;
if (GetWindowThreadProcessId( GetDesktopWindow(), NULL ) == GetCurrentThreadId())
return TRUE; /* don't clip in the desktop process */
if (grab_pointer) if (grab_pointer)
{ {
HWND foreground = GetForegroundWindow(); HWND foreground = GetForegroundWindow();
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment