winehq.org
Sign In
Sign Up
Sign In
Sign Up
Manage this list
×
Keyboard Shortcuts
Thread View
j
: Next unread message
k
: Previous unread message
j a
: Jump to all threads
j l
: Jump to MailingList overview
2025
February
January
2024
December
November
October
September
August
July
June
May
April
March
February
January
2023
December
November
October
September
August
July
June
May
April
March
February
January
2022
December
November
October
September
August
July
June
May
April
March
February
January
2021
December
November
October
September
August
July
June
May
April
March
February
January
2020
December
November
October
September
August
July
June
May
April
March
February
January
2019
December
November
October
September
August
July
June
May
April
March
February
January
2018
December
November
October
September
August
July
June
May
April
March
February
January
2017
December
November
October
September
August
July
June
May
April
March
February
January
2016
December
November
October
September
August
July
June
May
April
March
February
January
2015
December
November
October
September
August
July
June
May
April
March
February
January
2014
December
November
October
September
August
July
June
May
April
March
February
January
2013
December
November
October
September
August
July
June
May
April
March
February
January
2012
December
November
October
September
August
July
June
May
April
March
February
January
2011
December
November
October
September
August
July
June
May
April
March
February
January
2010
December
November
October
September
August
July
June
May
April
March
February
January
2009
December
November
October
September
August
July
June
May
April
March
February
January
2008
December
November
October
September
August
July
June
May
April
March
February
January
2007
December
November
October
September
August
July
June
May
April
March
February
January
2006
December
November
October
September
August
July
June
May
April
March
February
January
2005
December
November
October
September
August
July
June
May
April
March
February
January
2004
December
November
October
September
August
July
June
May
April
March
February
January
2003
December
November
October
September
August
July
June
May
April
March
February
January
2002
December
November
October
September
August
July
June
May
April
March
February
January
2001
December
November
October
September
August
July
June
May
April
March
February
List overview
wine-commits
October 2006
----- 2025 -----
February 2025
January 2025
----- 2024 -----
December 2024
November 2024
October 2024
September 2024
August 2024
July 2024
June 2024
May 2024
April 2024
March 2024
February 2024
January 2024
----- 2023 -----
December 2023
November 2023
October 2023
September 2023
August 2023
July 2023
June 2023
May 2023
April 2023
March 2023
February 2023
January 2023
----- 2022 -----
December 2022
November 2022
October 2022
September 2022
August 2022
July 2022
June 2022
May 2022
April 2022
March 2022
February 2022
January 2022
----- 2021 -----
December 2021
November 2021
October 2021
September 2021
August 2021
July 2021
June 2021
May 2021
April 2021
March 2021
February 2021
January 2021
----- 2020 -----
December 2020
November 2020
October 2020
September 2020
August 2020
July 2020
June 2020
May 2020
April 2020
March 2020
February 2020
January 2020
----- 2019 -----
December 2019
November 2019
October 2019
September 2019
August 2019
July 2019
June 2019
May 2019
April 2019
March 2019
February 2019
January 2019
----- 2018 -----
December 2018
November 2018
October 2018
September 2018
August 2018
July 2018
June 2018
May 2018
April 2018
March 2018
February 2018
January 2018
----- 2017 -----
December 2017
November 2017
October 2017
September 2017
August 2017
July 2017
June 2017
May 2017
April 2017
March 2017
February 2017
January 2017
----- 2016 -----
December 2016
November 2016
October 2016
September 2016
August 2016
July 2016
June 2016
May 2016
April 2016
March 2016
February 2016
January 2016
----- 2015 -----
December 2015
November 2015
October 2015
September 2015
August 2015
July 2015
June 2015
May 2015
April 2015
March 2015
February 2015
January 2015
----- 2014 -----
December 2014
November 2014
October 2014
September 2014
August 2014
July 2014
June 2014
May 2014
April 2014
March 2014
February 2014
January 2014
----- 2013 -----
December 2013
November 2013
October 2013
September 2013
August 2013
July 2013
June 2013
May 2013
April 2013
March 2013
February 2013
January 2013
----- 2012 -----
December 2012
November 2012
October 2012
September 2012
August 2012
July 2012
June 2012
May 2012
April 2012
March 2012
February 2012
January 2012
----- 2011 -----
December 2011
November 2011
October 2011
September 2011
August 2011
July 2011
June 2011
May 2011
April 2011
March 2011
February 2011
January 2011
----- 2010 -----
December 2010
November 2010
October 2010
September 2010
August 2010
July 2010
June 2010
May 2010
April 2010
March 2010
February 2010
January 2010
----- 2009 -----
December 2009
November 2009
October 2009
September 2009
August 2009
July 2009
June 2009
May 2009
April 2009
March 2009
February 2009
January 2009
----- 2008 -----
December 2008
November 2008
October 2008
September 2008
August 2008
July 2008
June 2008
May 2008
April 2008
March 2008
February 2008
January 2008
----- 2007 -----
December 2007
November 2007
October 2007
September 2007
August 2007
July 2007
June 2007
May 2007
April 2007
March 2007
February 2007
January 2007
----- 2006 -----
December 2006
November 2006
October 2006
September 2006
August 2006
July 2006
June 2006
May 2006
April 2006
March 2006
February 2006
January 2006
----- 2005 -----
December 2005
November 2005
October 2005
September 2005
August 2005
July 2005
June 2005
May 2005
April 2005
March 2005
February 2005
January 2005
----- 2004 -----
December 2004
November 2004
October 2004
September 2004
August 2004
July 2004
June 2004
May 2004
April 2004
March 2004
February 2004
January 2004
----- 2003 -----
December 2003
November 2003
October 2003
September 2003
August 2003
July 2003
June 2003
May 2003
April 2003
March 2003
February 2003
January 2003
----- 2002 -----
December 2002
November 2002
October 2002
September 2002
August 2002
July 2002
June 2002
May 2002
April 2002
March 2002
February 2002
January 2002
----- 2001 -----
December 2001
November 2001
October 2001
September 2001
August 2001
July 2001
June 2001
May 2001
April 2001
March 2001
February 2001
wine-commits@winehq.org
3 participants
1032 discussions
Start a n
N
ew thread
Ivan Gyurdiev : wined3d: D3DDEVTYPE: Consistently use in WINED3D namespace.
by Alexandre Julliard
11 Oct '06
11 Oct '06
Module: wine Branch: master Commit: 19c5534c3564e0fcead8f64c7906c8806001023d URL:
http://source.winehq.org/git/wine.git/?a=commit;h=19c5534c3564e0fcead8f64c7…
Author: Ivan Gyurdiev <ivg231(a)gmail.com> Date: Tue Oct 10 21:52:00 2006 -0400 wined3d: D3DDEVTYPE: Consistently use in WINED3D namespace. --- dlls/wined3d/utils.c | 10 +++++----- dlls/wined3d/wined3d_private.h | 4 ++-- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/dlls/wined3d/utils.c b/dlls/wined3d/utils.c index f3f7a1f..b8c6b5d 100644 --- a/dlls/wined3d/utils.c +++ b/dlls/wined3d/utils.c @@ -216,15 +216,15 @@ #undef FMT_TO_STR } } -const char* debug_d3ddevicetype(D3DDEVTYPE devtype) { +const char* debug_d3ddevicetype(WINED3DDEVTYPE devtype) { switch (devtype) { #define DEVTYPE_TO_STR(dev) case dev: return #dev - DEVTYPE_TO_STR(D3DDEVTYPE_HAL); - DEVTYPE_TO_STR(D3DDEVTYPE_REF); - DEVTYPE_TO_STR(D3DDEVTYPE_SW); + DEVTYPE_TO_STR(WINED3DDEVTYPE_HAL); + DEVTYPE_TO_STR(WINED3DDEVTYPE_REF); + DEVTYPE_TO_STR(WINED3DDEVTYPE_SW); #undef DEVTYPE_TO_STR default: - FIXME("Unrecognized %u D3DDEVTYPE!\n", devtype); + FIXME("Unrecognized %u WINED3DDEVTYPE!\n", devtype); return "unrecognized"; } } diff --git a/dlls/wined3d/wined3d_private.h b/dlls/wined3d/wined3d_private.h index 765aea9..9d4fd9f 100644 --- a/dlls/wined3d/wined3d_private.h +++ b/dlls/wined3d/wined3d_private.h @@ -529,7 +529,7 @@ #define NEEDS_DI /* Internal use fields */ WINED3DDEVICE_CREATION_PARAMETERS createParms; UINT adapterNo; - D3DDEVTYPE devType; + WINED3DDEVTYPE devType; IWineD3DSwapChain **swapchains; uint NumberOfSwapChains; @@ -1245,7 +1245,7 @@ extern IWineD3DSwapChainVtbl IWineD3DSwa /* Trace routines */ const char* debug_d3dformat(WINED3DFORMAT fmt); -const char* debug_d3ddevicetype(D3DDEVTYPE devtype); +const char* debug_d3ddevicetype(WINED3DDEVTYPE devtype); const char* debug_d3dresourcetype(WINED3DRESOURCETYPE res); const char* debug_d3dusage(DWORD usage); const char* debug_d3dusagequery(DWORD usagequery);
1
0
0
0
Ivan Gyurdiev : wined3d: D3DFORMAT: Consistently use WINED3D namespace.
by Alexandre Julliard
11 Oct '06
11 Oct '06
Module: wine Branch: master Commit: fb0c932f217da135e03f7517a8cc964b940b5e9a URL:
http://source.winehq.org/git/wine.git/?a=commit;h=fb0c932f217da135e03f7517a…
Author: Ivan Gyurdiev <ivg231(a)gmail.com> Date: Tue Oct 10 21:51:13 2006 -0400 wined3d: D3DFORMAT: Consistently use WINED3D namespace. --- dlls/wined3d/device.c | 10 +++--- dlls/wined3d/directx.c | 70 ++++++++++++++++++++-------------------- dlls/wined3d/surface.c | 2 + dlls/wined3d/swapchain.c | 10 +++--- dlls/wined3d/utils.c | 8 ++--- dlls/wined3d/wined3d_private.h | 4 +- 6 files changed, 52 insertions(+), 52 deletions(-) Diff:
http://source.winehq.org/git/wine.git/?a=commitdiff;h=fb0c932f217da135e03f7…
1
0
0
0
Ge van Geldorp : winapi_test: Regenerate tests.
by Alexandre Julliard
11 Oct '06
11 Oct '06
Module: wine Branch: master Commit: d642e114389083496f5a2409cd0cf47d348e616c URL:
http://source.winehq.org/git/wine.git/?a=commit;h=d642e114389083496f5a2409c…
Author: Ge van Geldorp <ge(a)gse.nl> Date: Tue Oct 10 20:35:46 2006 +0200 winapi_test: Regenerate tests. Remove structs from test list which have preprocessor directives in their definitions (winapi_test can't handle that). --- dlls/gdi/tests/generated.c | 6 +- dlls/kernel32/tests/generated.c | 16 ------ dlls/ntdll/tests/generated.c | 103 ++------------------------------------- dlls/rpcrt4/tests/generated.c | 30 +++++++++++ dlls/shell32/tests/generated.c | 47 ++++-------------- dlls/shlwapi/tests/generated.c | 6 -- dlls/urlmon/tests/generated.c | 19 +++---- dlls/user/tests/generated.c | 18 ------- tools/winapi/tests.dat | 14 +++-- tools/winapi/winapi_test | 4 ++ 10 files changed, 66 insertions(+), 197 deletions(-) Diff:
http://source.winehq.org/git/wine.git/?a=commitdiff;h=d642e114389083496f5a2…
1
0
0
0
James Hawkins : msi: Set the SourceDir and SOURCEDIR properties in the ResolveSource action.
by Alexandre Julliard
11 Oct '06
11 Oct '06
Module: wine Branch: master Commit: c507543554b519f0dc3c50756c7c207f0c9e988a URL:
http://source.winehq.org/git/wine.git/?a=commit;h=c507543554b519f0dc3c50756…
Author: James Hawkins <truiken(a)gmail.com> Date: Tue Oct 10 13:39:50 2006 -0700 msi: Set the SourceDir and SOURCEDIR properties in the ResolveSource action. --- dlls/msi/action.c | 22 ++++++++++++++-- dlls/msi/helpers.c | 1 + dlls/msi/msipriv.h | 1 + dlls/msi/package.c | 1 + dlls/msi/tests/package.c | 63 ++++++++++++++++++++++++++++++++++++++++++++++ 5 files changed, 85 insertions(+), 3 deletions(-) diff --git a/dlls/msi/action.c b/dlls/msi/action.c index 0f2c6f8..ab2bf03 100644 --- a/dlls/msi/action.c +++ b/dlls/msi/action.c @@ -573,7 +573,6 @@ UINT MSI_InstallPackage( MSIPACKAGE *pac { LPWSTR p, check, path; - package->PackagePath = strdupW(szPackagePath); path = strdupW(szPackagePath); p = strrchrW(path,'\\'); if (p) @@ -592,8 +591,10 @@ UINT MSI_InstallPackage( MSIPACKAGE *pac check = msi_dup_property( package, cszSourceDir ); if (!check) MSI_SetPropertyW(package, cszSourceDir, path); + + package->PackagePath = path; + msi_free(check); - msi_free(path); } msi_parse_command_line( package, szCommandLine ); @@ -3851,8 +3852,10 @@ static UINT ACTION_ForceReboot(MSIPACKAG static UINT ACTION_ResolveSource(MSIPACKAGE* package) { - DWORD attrib; + DWORD attrib, len; + LPWSTR ptr, source; UINT rc; + /* * we are currently doing what should be done here in the top level Install * however for Adminastrative and uninstalls this step will be needed @@ -3860,6 +3863,19 @@ static UINT ACTION_ResolveSource(MSIPACK if (!package->PackagePath) return ERROR_SUCCESS; + ptr = strrchrW(package->PackagePath, '\\'); + if (!ptr) + return ERROR_SUCCESS; + + len = ptr - package->PackagePath + 2; + source = msi_alloc(len * sizeof(WCHAR)); + lstrcpynW(source, package->PackagePath, len); + + MSI_SetPropertyW(package, cszSourceDir, source); + MSI_SetPropertyW(package, cszSOURCEDIR, source); + + msi_free(source); + attrib = GetFileAttributesW(package->PackagePath); if (attrib == INVALID_FILE_ATTRIBUTES) { diff --git a/dlls/msi/helpers.c b/dlls/msi/helpers.c index 2ebc13a..bb4dcc4 100644 --- a/dlls/msi/helpers.c +++ b/dlls/msi/helpers.c @@ -40,6 +40,7 @@ static const WCHAR cszTargetDir[] = {'T' static const WCHAR cszDatabase[]={'D','A','T','A','B','A','S','E',0}; const WCHAR cszSourceDir[] = {'S','o','u','r','c','e','D','i','r',0}; +const WCHAR cszSOURCEDIR[] = {'S','O','U','R','C','E','D','I','R',0}; const WCHAR cszRootDrive[] = {'R','O','O','T','D','R','I','V','E',0}; const WCHAR cszbs[]={'\\',0}; diff --git a/dlls/msi/msipriv.h b/dlls/msi/msipriv.h index ef0c033..d65e0ab 100644 --- a/dlls/msi/msipriv.h +++ b/dlls/msi/msipriv.h @@ -768,6 +768,7 @@ extern void ui_actiondata(MSIPACKAGE *, /* string consts use a number of places and defined in helpers.c*/ extern const WCHAR cszSourceDir[]; +extern const WCHAR cszSOURCEDIR[]; extern const WCHAR szProductCode[]; extern const WCHAR cszRootDrive[]; extern const WCHAR cszbs[]; diff --git a/dlls/msi/package.c b/dlls/msi/package.c index d0b0619..aae868c 100644 --- a/dlls/msi/package.c +++ b/dlls/msi/package.c @@ -424,6 +424,7 @@ MSIPACKAGE *MSI_CreatePackage( MSIDATABA list_init( &package->RunningActions ); package->WordCount = msi_get_word_count( package ); + package->PackagePath = strdupW( db->path ); /* OK, here is where we do a slew of things to the database to * prep for all that is to come as a package */ diff --git a/dlls/msi/tests/package.c b/dlls/msi/tests/package.c index 508dde4..cdb71f6 100644 --- a/dlls/msi/tests/package.c +++ b/dlls/msi/tests/package.c @@ -2728,6 +2728,68 @@ static void test_installprops(void) MsiCloseHandle(hpkg); } +static void test_sourcedirprop(void) +{ + MSIHANDLE hpkg, hdb; + CHAR source_dir[MAX_PATH]; + CHAR path[MAX_PATH]; + DWORD size; + UINT r; + + hdb = create_package_db(); + ok ( hdb, "failed to create package database\n" ); + + r = add_directory_entry( hdb, "'TARGETDIR', '', 'SourceDir'"); + ok( r == ERROR_SUCCESS, "cannot add directory: %d\n", r ); + + hpkg = package_from_db( hdb ); + ok( hpkg, "failed to create package\n"); + + MsiCloseHandle( hdb ); + + size = MAX_PATH; + r = MsiGetProperty( hpkg, "SourceDir", source_dir, &size ); + ok( r == ERROR_SUCCESS, "failed to get property: %d\n", r); + ok( !lstrlenA(source_dir), "Expected emtpy source dir, got %s\n", source_dir); + + size = MAX_PATH; + r = MsiGetProperty( hpkg, "SOURCEDIR", source_dir, &size ); + ok( r == ERROR_SUCCESS, "failed to get property: %d\n", r); + ok( !lstrlenA(source_dir), "Expected emtpy source dir, got %s\n", source_dir); + + r = MsiDoAction( hpkg, "CostInitialize"); + ok( r == ERROR_SUCCESS, "cost init failed\n"); + + size = MAX_PATH; + r = MsiGetProperty( hpkg, "SourceDir", source_dir, &size ); + ok( r == ERROR_SUCCESS, "failed to get property: %d\n", r); + ok( !lstrlenA(source_dir), "Expected emtpy source dir, got %s\n", source_dir); + + size = MAX_PATH; + r = MsiGetProperty( hpkg, "SOURCEDIR", source_dir, &size ); + ok( r == ERROR_SUCCESS, "failed to get property: %d\n", r); + ok( !lstrlenA(source_dir), "Expected emtpy source dir, got %s\n", source_dir); + + r = MsiDoAction( hpkg, "ResolveSource"); + ok( r == ERROR_SUCCESS, "file cost failed\n"); + + GetCurrentDirectory(MAX_PATH, path); + lstrcatA(path, "\\"); + + size = MAX_PATH; + r = MsiGetProperty( hpkg, "SourceDir", source_dir, &size ); + ok( r == ERROR_SUCCESS, "failed to get property: %d\n", r); + ok( !lstrcmpA(source_dir, path), "Expected %s, got %s\n", path, source_dir); + + size = MAX_PATH; + r = MsiGetProperty( hpkg, "SOURCEDIR", source_dir, &size ); + ok( r == ERROR_SUCCESS, "failed to get property: %d\n", r); + ok( !lstrcmpA(source_dir, path), "Expected %s, got %s\n", path, source_dir); + + MsiCloseHandle(hpkg); + DeleteFileA(msifile); +} + START_TEST(package) { test_createpackage(); @@ -2746,4 +2808,5 @@ START_TEST(package) test_appsearch(); test_featureparents(); test_installprops(); + test_sourcedirprop(); }
1
0
0
0
James Hawkins : msi: Clean up after the package tests.
by Alexandre Julliard
11 Oct '06
11 Oct '06
Module: wine Branch: master Commit: 58870ce841f71d162277360930e82841a1729069 URL:
http://source.winehq.org/git/wine.git/?a=commit;h=58870ce841f71d16227736093…
Author: James Hawkins <truiken(a)gmail.com> Date: Tue Oct 10 13:37:54 2006 -0700 msi: Clean up after the package tests. --- dlls/msi/tests/package.c | 10 ++++++++++ 1 files changed, 10 insertions(+), 0 deletions(-) diff --git a/dlls/msi/tests/package.c b/dlls/msi/tests/package.c index be5c614..508dde4 100644 --- a/dlls/msi/tests/package.c +++ b/dlls/msi/tests/package.c @@ -1655,6 +1655,8 @@ static void test_states(void) hpkg = package_from_db( hdb ); ok( hpkg, "failed to create package\n"); + MsiCloseHandle( hdb ); + state = 0xdeadbee; action = 0xdeadbee; r = MsiGetFeatureState(hpkg, "one", &state, &action); @@ -2057,6 +2059,7 @@ static void test_states(void) ok( action == INSTALLSTATE_LOCAL, "Expected INSTALLSTATE_LOCAL, got %d\n", action); MsiCloseHandle( hpkg ); + DeleteFileA( msifile ); } static void test_getproperty(void) @@ -2194,6 +2197,8 @@ static void test_removefiles(void) hpkg = package_from_db( hdb ); ok( hpkg, "failed to create package\n"); + MsiCloseHandle( hdb ); + create_test_file( "hydrogen.txt" ); create_test_file( "helium.txt" ); create_test_file( "lithium.txt" ); @@ -2280,6 +2285,8 @@ static void test_appsearch(void) hpkg = package_from_db( hdb ); ok( hpkg, "failed to create package\n"); + MsiCloseHandle( hdb ); + r = MsiDoAction( hpkg, "AppSearch" ); ok( r == ERROR_SUCCESS, "AppSearch failed: %d\n", r); @@ -2466,6 +2473,8 @@ static void test_featureparents(void) hpkg = package_from_db( hdb ); ok( hpkg, "failed to create package\n"); + MsiCloseHandle( hdb ); + r = MsiDoAction( hpkg, "CostInitialize"); ok( r == ERROR_SUCCESS, "cost init failed\n"); @@ -2689,6 +2698,7 @@ static void test_featureparents(void) ok( action == INSTALLSTATE_UNKNOWN, "Expected INSTALLSTATE_UNKNOWN, got %d\n", action); MsiCloseHandle(hpkg); + DeleteFileA(msifile); } static void test_installprops(void)
1
0
0
0
Mike McCormack : msi: Check transforms have the correct storage guid.
by Alexandre Julliard
11 Oct '06
11 Oct '06
Module: wine Branch: master Commit: eb18bd9403e1054bd071c0939da69823d7d32744 URL:
http://source.winehq.org/git/wine.git/?a=commit;h=eb18bd9403e1054bd071c0939…
Author: Mike McCormack <mike(a)codeweavers.com> Date: Wed Oct 11 16:27:15 2006 +0900 msi: Check transforms have the correct storage guid. --- dlls/msi/msiquery.c | 28 ++++++++++++++++++++-------- 1 files changed, 20 insertions(+), 8 deletions(-) diff --git a/dlls/msi/msiquery.c b/dlls/msi/msiquery.c index 824a5be..1346969 100644 --- a/dlls/msi/msiquery.c +++ b/dlls/msi/msiquery.c @@ -37,6 +37,8 @@ #include "winnls.h" #include "query.h" +#include "initguid.h" + WINE_DEFAULT_DEBUG_CHANNEL(msi); static void MSI_CloseView( MSIOBJECTHDR *arg ) @@ -737,30 +739,40 @@ MSIHANDLE WINAPI MsiGetLastErrorRecord( DEFINE_GUID( CLSID_MsiTransform, 0x000c1082, 0x0000, 0x0000, 0xc0,0x00,0x00,0x00,0x00,0x00,0x00,0x46); -UINT MSI_DatabaseApplyTransformW( MSIDATABASE *db, +UINT MSI_DatabaseApplyTransformW( MSIDATABASE *db, LPCWSTR szTransformFile, int iErrorCond ) { - UINT r; + HRESULT r; + UINT ret = ERROR_FUNCTION_FAILED; IStorage *stg = NULL; - + STATSTG stat; + TRACE("%p %s %d\n", db, debugstr_w(szTransformFile), iErrorCond); r = StgOpenStorage( szTransformFile, NULL, STGM_DIRECT|STGM_READ|STGM_SHARE_DENY_WRITE, NULL, 0, &stg); - if( r ) - return r; + if ( FAILED(r) ) + return ret; + + r = IStorage_Stat( stg, &stat, STATFLAG_NONAME ); + if ( FAILED( r ) ) + goto end; + + if ( !IsEqualGUID( &stat.clsid, &CLSID_MsiTransform ) ) + goto end; if( TRACE_ON( msi ) ) enum_stream_names( stg ); - r = msi_table_apply_transform( db, stg ); + ret = msi_table_apply_transform( db, stg ); +end: IStorage_Release( stg ); - return r; + return ret; } -UINT WINAPI MsiDatabaseApplyTransformW( MSIHANDLE hdb, +UINT WINAPI MsiDatabaseApplyTransformW( MSIHANDLE hdb, LPCWSTR szTransformFile, int iErrorCond) { MSIDATABASE *db;
1
0
0
0
Mike McCormack : msi: Check that transforms return the correct data.
by Alexandre Julliard
11 Oct '06
11 Oct '06
Module: wine Branch: master Commit: ee55546d340386325f39399eb059e305e51caae4 URL:
http://source.winehq.org/git/wine.git/?a=commit;h=ee55546d340386325f39399eb…
Author: Mike McCormack <mike(a)codeweavers.com> Date: Wed Oct 11 16:26:54 2006 +0900 msi: Check that transforms return the correct data. --- dlls/msi/tests/db.c | 166 ++++++++++++++++++++++++++++++++++++++++----------- 1 files changed, 131 insertions(+), 35 deletions(-) diff --git a/dlls/msi/tests/db.c b/dlls/msi/tests/db.c index b8215cf..3f65c58 100644 --- a/dlls/msi/tests/db.c +++ b/dlls/msi/tests/db.c @@ -17,22 +17,23 @@ * License along with this library; if not, write to the Free Software * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA */ + +#define COBJMACROS + #include <stdio.h> #include <windows.h> #include <msi.h> #include <msiquery.h> +#include <objidl.h> + #include "wine/test.h" static const char *msifile = "winetest.msi"; static const char *msifile2 = "winetst2.msi"; static const char *mstfile = "winetst.mst"; -#ifndef ERROR_INSTALL_TRANSFORM_FAILURE -#define ERROR_INSTALL_TRANSFORM_FAILURE 1624 -#endif - static void test_msidatabase(void) { MSIHANDLE hdb = 0, hdb2 = 0; @@ -1691,16 +1692,12 @@ static void test_handle_limit(void) ok( r == ERROR_SUCCESS, "failed to close database\n"); } -static void test_generate_transform(void) +static void generate_transform(void) { MSIHANDLE hdb1, hdb2; LPCSTR query; UINT r; - DeleteFile(msifile); - DeleteFile(msifile2); - DeleteFile(mstfile); - /* create an empty database */ r = MsiOpenDatabase(msifile, MSIDBOPEN_CREATE, &hdb1 ); ok( r == ERROR_SUCCESS , "Failed to create database\n" ); @@ -1709,12 +1706,9 @@ static void test_generate_transform(void ok( r == ERROR_SUCCESS , "Failed to commit database\n" ); /* create another empty database */ - r = MsiOpenDatabase(msifile2, MSIDBOPEN_CREATE, &hdb2 ); + r = MsiOpenDatabase(msifile2, MSIDBOPEN_READONLY, &hdb2 ); ok( r == ERROR_SUCCESS , "Failed to create database\n" ); - r = MsiDatabaseCommit( hdb2 ); - ok( r == ERROR_SUCCESS , "Failed to commit database\n" ); - /* the transform between two empty database should be empty */ r = MsiDatabaseGenerateTransform(hdb1, hdb2, NULL, 0, 0); todo_wine { @@ -1733,13 +1727,6 @@ static void test_generate_transform(void r = run_query(hdb1, 0, query); ok(r == ERROR_SUCCESS, "failed to add row 2\n"); - todo_wine { - r = MsiDatabaseGenerateTransform(hdb1, hdb2, NULL, 0, 0); - ok( r == ERROR_SUCCESS, "return code %d, should be ERROR_SUCCESS\n", r ); - - r = MsiDatabaseGenerateTransform(hdb1, hdb2, mstfile, 0, 0); - ok( r == ERROR_SUCCESS, "return code %d, should be ERROR_SUCCESS\n", r ); - /* database needs to be committed */ MsiDatabaseCommit(hdb1); @@ -1747,33 +1734,142 @@ static void test_generate_transform(void ok( r == ERROR_SUCCESS, "return code %d, should be ERROR_SUCCESS\n", r ); MsiCloseHandle( hdb1 ); + MsiCloseHandle( hdb2 ); +} - r = MsiDatabaseApplyTransform( hdb2, mstfile, 0 ); - ok( r == ERROR_SUCCESS, "return code %d, should be ERROR_SUCCESS\n", r ); +static const WCHAR name1[] = { 0x4840, 0x3a8a, 0x481b, 0 }; /* AAR */ +static const WCHAR name2[] = { 0x4840, 0x3b3f, 0x43f2, 0x4438, 0x45b1, 0 }; /* _Columns */ +static const WCHAR name3[] = { 0x4840, 0x3f7f, 0x4164, 0x422f, 0x4836, 0 }; /* _Tables */ +static const WCHAR name4[] = { 0x4840, 0x3f3f, 0x4577, 0x446c, 0x3b6a, 0x45e4, 0x4824, 0 }; /* _StringData */ +static const WCHAR name5[] = { 0x4840, 0x3f3f, 0x4577, 0x446c, 0x3e6a, 0x44b2, 0x482f, 0 }; /* _StringPool */ + +static const WCHAR data1[] = { /* AAR */ + 0x0201, 0x0004, 0x8001, + 0x0201, 0x0005, 0x8002, +}; +static const WCHAR data2[] = { /* _Columns */ + 0x0401, 0x0001, 0x0000, 0x0002, 0xbdff, + 0x0401, 0x0001, 0x0000, 0x0003, 0x8502, +}; +static const WCHAR data3[] = { /* _Tables */ + 0x0101, 0x0001, +}; +static const char data4[] = /* _StringData */ + "AARCARBARvwbmw"; +static const WCHAR data5[] = { /* _StringPool */ +/* len, refs */ + 0, 0, + 3, 3, /* string 1 */ + 3, 1, /* string 2 */ + 3, 1, /* string 3 */ + 2, 1, /* string 4 */ + 3, 1, /* string 5 */ +}; + +static const struct { + LPCWSTR name; + const void *data; + DWORD size; +} table_transform_data[] = +{ + { name1, data1, sizeof data1 }, + { name2, data2, sizeof data2 }, + { name3, data3, sizeof data3 }, + { name4, data4, sizeof data4 }, + { name5, data5, sizeof data5 }, +}; + +#define NUM_TRANSFORM_TABLES (sizeof table_transform_data/sizeof table_transform_data[0]) + +static void generate_transform_manual(void) +{ + IStorage *stg = NULL; + IStream *stm; + WCHAR name[0x20]; + HRESULT r; + DWORD i, count; + const DWORD mode = STGM_CREATE|STGM_READWRITE|STGM_DIRECT|STGM_SHARE_EXCLUSIVE; + + const CLSID CLSID_MsiTransform = { 0xc1082,0,0,{0xc0,0,0,0,0,0,0,0x46}}; + + MultiByteToWideChar(CP_ACP, 0, mstfile, -1, name, 0x20); + + r = StgCreateDocfile(name, mode, 0, &stg); + ok(r == S_OK, "failed to create storage\n"); + if (!stg) + return; + + r = IStorage_SetClass( stg, &CLSID_MsiTransform ); + ok(r == S_OK, "failed to set storage type\n"); - MsiDatabaseCommit(hdb2); + for (i=0; i<NUM_TRANSFORM_TABLES; i++) + { + r = IStorage_CreateStream( stg, table_transform_data[i].name, + STGM_WRITE | STGM_SHARE_EXCLUSIVE, 0, 0, &stm ); + if (FAILED(r)) + { + ok(0, "failed to create stream\n"); + continue; + } - /* apply the same transform again? */ - r = MsiDatabaseApplyTransform( hdb2, mstfile, 0 ); - ok( r == ERROR_INSTALL_TRANSFORM_FAILURE, - "return code %d, should be ERROR_INSTALL_TRANSFORM_FAILURE\n", r ); + r = IStream_Write( stm, table_transform_data[i].data, + table_transform_data[i].size, &count ); + if (FAILED(r) || count != table_transform_data[i].size) + ok(0, "failed to write stream\n"); + IStream_Release(stm); } - MsiCloseHandle( hdb2 ); + IStorage_Release(stg); +} + +static void test_try_transform(void) +{ + MSIHANDLE hdb; + LPCSTR query; + UINT r; DeleteFile(msifile); + DeleteFile(msifile2); + DeleteFile(mstfile); - r = MsiOpenDatabase(msifile2, MSIDBOPEN_READONLY, &hdb1 ); + /* create an empty database */ + r = MsiOpenDatabase(msifile2, MSIDBOPEN_CREATE, &hdb ); ok( r == ERROR_SUCCESS , "Failed to create database\n" ); - todo_wine { - query = "select `BAR`,`CAR` from `AAR`"; - r = run_query(hdb1, 0, query); + r = MsiDatabaseCommit( hdb ); + ok( r == ERROR_SUCCESS , "Failed to commit database\n" ); + + MsiCloseHandle( hdb ); + + /* + * Both these generate an equivilent transform, + * but the first doesn't work in Wine yet + * because MsiDatabaseGenerateTransform is unimplemented. + */ + if (0) + generate_transform(); + else + generate_transform_manual(); + + r = MsiOpenDatabase(msifile2, MSIDBOPEN_DIRECT, &hdb ); + ok( r == ERROR_SUCCESS , "Failed to create database\n" ); + + r = MsiDatabaseApplyTransform( hdb, mstfile, 0 ); + ok( r == ERROR_SUCCESS, "return code %d, should be ERROR_SUCCESS\n", r ); + + MsiDatabaseCommit( hdb ); + + query = "select `BAR`,`CAR` from `AAR` where `BAR` = 1 AND `CAR` = 'vw'"; + r = run_query(hdb, 0, query); ok(r == ERROR_SUCCESS, "select query failed\n"); - } - MsiCloseHandle( hdb1 ); + query = "select `BAR`,`CAR` from `AAR` where `BAR` = 2 AND `CAR` = 'bmw'"; + r = run_query(hdb, 0, query); + ok(r == ERROR_SUCCESS, "select query failed\n"); + + MsiCloseHandle( hdb ); + DeleteFile(msifile); DeleteFile(msifile2); DeleteFile(mstfile); } @@ -2537,7 +2633,7 @@ START_TEST(db) test_msiimport(); test_markers(); test_handle_limit(); - test_generate_transform(); + test_try_transform(); test_join(); test_temporary_table(); test_alter();
1
0
0
0
Dmitry Timoshkov : user: Add some missing messages to the message spy.
by Alexandre Julliard
11 Oct '06
11 Oct '06
Module: wine Branch: master Commit: a58a9f521202539c0a1c5732201567a59f8f6cfc URL:
http://source.winehq.org/git/wine.git/?a=commit;h=a58a9f521202539c0a1c57322…
Author: Dmitry Timoshkov <dmitry(a)codeweavers.com> Date: Wed Oct 11 16:08:48 2006 +0900 user: Add some missing messages to the message spy. --- dlls/user/spy.c | 29 +++++++++++++++++++++-------- include/winuser.h | 4 ++-- 2 files changed, 23 insertions(+), 10 deletions(-) diff --git a/dlls/user/spy.c b/dlls/user/spy.c index e1c3d0b..e46772e 100644 --- a/dlls/user/spy.c +++ b/dlls/user/spy.c @@ -410,7 +410,9 @@ static const char * const MessageTypeNam NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, /* 0x01E0 */ - NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + NULL, + "MN_GETHMENU", /* 0x01E1 */ + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, /* 0x01F0 */ @@ -571,9 +573,11 @@ static const char * const MessageTypeNam "WM_PALETTECHANGED", "WM_HOTKEY", /* 0x0312 */ NULL, NULL, NULL, NULL, - "WM_PRINT", - "WM_PRINTCLIENT", - NULL, NULL, NULL, NULL, NULL, NULL, NULL, + "WM_PRINT", /* 0x0317 */ + "WM_PRINTCLIENT", /* 0x0318 */ + "WM_APPCOMMAND", /* 0x0319 */ + "WM_THEMECHANGED", /* 0x031A */ + NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, @@ -583,10 +587,18 @@ static const char * const MessageTypeNam /* 0x0340 */ NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, + /* 0x0350 */ NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, - NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, - - "WM_QUERYAFXWNDPROC", /* 0x0360 */ + "WM_HANDHELDFIRST", /* 0x0358 */ + "WM_HANDHELDFIRST+1", /* 0x0359 */ + "WM_HANDHELDFIRST+2", /* 0x035A */ + "WM_HANDHELDFIRST+3", /* 0x035B */ + "WM_HANDHELDFIRST+4", /* 0x035C */ + "WM_HANDHELDFIRST+5", /* 0x035D */ + "WM_HANDHELDFIRST+6", /* 0x035E */ + "WM_HANDHELDLAST", /* 0x035F */ + + "WM_QUERYAFXWNDPROC", /* 0x0360 WM_AFXFIRST */ "WM_SIZEPARENT", /* 0x0361 */ "WM_SETMESSAGESTRING", /* 0x0362 */ "WM_IDLEUPDATECMDUI", /* 0x0363 */ @@ -613,7 +625,8 @@ static const char * const MessageTypeNam "WM_OCC_LOADFROMSTREAM_EX", /* 0x037A */ "WM_OCC_LOADFROMSTORAGE_EX", /* 0x037B */ - NULL,NULL,NULL,NULL, + NULL,NULL,NULL, + "WM_AFXLAST", /* 0x037F */ "WM_PENWINFIRST", /* 0x0380 */ "WM_RCRESULT", /* 0x0381 */ diff --git a/include/winuser.h b/include/winuser.h index 27f77d1..3d4795b 100644 --- a/include/winuser.h +++ b/include/winuser.h @@ -1189,8 +1189,6 @@ #define WM_CAPTURECHANGED 0x0215 #define WM_MOVING 0x0216 #define WM_POWERBROADCAST 0x0218 #define WM_DEVICECHANGE 0x0219 -/* Win32 5.1 messages */ -#define WM_THEMECHANGED 0x031A /* wParam for WM_SIZING message */ #define WMSZ_LEFT 1 @@ -1293,6 +1291,8 @@ #define WM_HOTKEY 0x0312 #define WM_PRINT 0x0317 #define WM_PRINTCLIENT 0x0318 +#define WM_APPCOMMAND 0x0319 +#define WM_THEMECHANGED 0x031A #define WM_HANDHELDFIRST 0x0358 #define WM_HANDHELDLAST 0x035F
1
0
0
0
Michael Ploujnikov : mlang/tests: Win64 printf format warning fixes.
by Alexandre Julliard
11 Oct '06
11 Oct '06
Module: wine Branch: master Commit: 7b048bdc0f32d7777e5a5d5596ef4b49825885f7 URL:
http://source.winehq.org/git/wine.git/?a=commit;h=7b048bdc0f32d7777e5a5d559…
Author: Michael Ploujnikov <ploujj(a)gmail.com> Date: Tue Oct 10 19:17:52 2006 -0400 mlang/tests: Win64 printf format warning fixes. --- dlls/mlang/tests/Makefile.in | 1 dlls/mlang/tests/mlang.c | 120 +++++++++++++++++++++--------------------- 2 files changed, 60 insertions(+), 61 deletions(-) Diff:
http://source.winehq.org/git/wine.git/?a=commitdiff;h=7b048bdc0f32d7777e5a5…
1
0
0
0
Michael Ploujnikov : usp10/tests: Win64 printf format warning fixes.
by Alexandre Julliard
11 Oct '06
11 Oct '06
Module: wine Branch: master Commit: f37c0aa279b0c8ce2d9d3b00c312fecea7ec7177 URL:
http://source.winehq.org/git/wine.git/?a=commit;h=f37c0aa279b0c8ce2d9d3b00c…
Author: Michael Ploujnikov <ploujj(a)gmail.com> Date: Tue Oct 10 18:19:54 2006 -0400 usp10/tests: Win64 printf format warning fixes. --- dlls/usp10/tests/Makefile.in | 1 dlls/usp10/tests/usp10.c | 134 +++++++++++++++++++++--------------------- 2 files changed, 67 insertions(+), 68 deletions(-) Diff:
http://source.winehq.org/git/wine.git/?a=commitdiff;h=f37c0aa279b0c8ce2d9d3…
1
0
0
0
← Newer
1
...
57
58
59
60
61
62
63
...
104
Older →
Jump to page:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
Results per page:
10
25
50
100
200