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
July
June
May
April
March
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
February 2006
----- 2025 -----
July 2025
June 2025
May 2025
April 2025
March 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
4 participants
696 discussions
Start a n
N
ew thread
Uwe Bonnes : winhelp: Zero out WINHELP_WINDOW in WINHELP_CreateHelpWindow.
by Alexandre Julliard
20 Feb '06
20 Feb '06
Module: wine Branch: refs/heads/master Commit: 69e4c4f1be7a87ac2ccd67e75e2fb8cce98f6378 URL:
http://source.winehq.org/git/?p=wine.git;a=commit;h=69e4c4f1be7a87ac2ccd67e…
Author: Uwe Bonnes <bon(a)elektron.ikp.physik.tu-darmstadt.de> Date: Mon Feb 20 11:12:07 2006 +0100 winhelp: Zero out WINHELP_WINDOW in WINHELP_CreateHelpWindow. --- programs/winhelp/winhelp.c | 10 +--------- 1 files changed, 1 insertions(+), 9 deletions(-) diff --git a/programs/winhelp/winhelp.c b/programs/winhelp/winhelp.c index f3abdd5..6356a63 100644 --- a/programs/winhelp/winhelp.c +++ b/programs/winhelp/winhelp.c @@ -485,7 +485,7 @@ BOOL WINHELP_CreateHelpWindow(HLPFILE_PA bPopup = wi->win_style & WS_POPUP; /* Initialize WINHELP_WINDOW struct */ - win = HeapAlloc(GetProcessHeap(), 0, + win = HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, sizeof(WINHELP_WINDOW) + strlen(wi->name) + 1); if (!win) return FALSE; @@ -496,13 +496,6 @@ BOOL WINHELP_CreateHelpWindow(HLPFILE_PA lstrcpy((char*)win->lpszName, wi->name); win->page = page; - win->first_button = 0; - win->first_line = 0; - win->hMainWnd = 0; - win->hButtonBoxWnd = 0; - win->hTextWnd = 0; - win->hShadowWnd = 0; - win->hHistoryWnd = 0; win->hArrowCur = LoadCursorA(0, (LPSTR)IDC_ARROW); win->hHandCur = LoadCursorA(0, (LPSTR)IDC_HAND); @@ -539,7 +532,6 @@ BOOL WINHELP_CreateHelpWindow(HLPFILE_PA MACRO_ExecuteMacro(macro->lpszMacro); } - win->histIndex = win->backIndex = 0; /* Reuse existing window */ if (!bPopup) {
1
0
0
0
Roderick Colenbrander : d3d8: Move texturing code over to wined3d ( based on Oliver Stieber's work).
by Alexandre Julliard
20 Feb '06
20 Feb '06
Module: wine Branch: refs/heads/master Commit: 3da999a1f796ddebc8b05a59f456c06ed8b43da1 URL:
http://source.winehq.org/git/?p=wine.git;a=commit;h=3da999a1f796ddebc8b05a5…
Author: Roderick Colenbrander <thunderbird2k(a)gmx.net> Date: Mon Feb 20 11:11:35 2006 +0100 d3d8: Move texturing code over to wined3d (based on Oliver Stieber's work). --- dlls/d3d8/basetexture.c | 134 ++++++----- dlls/d3d8/cubetexture.c | 293 ++++++++---------------- dlls/d3d8/d3d8_main.c | 1 dlls/d3d8/d3d8_private.h | 131 +++++------ dlls/d3d8/device.c | 341 ++++++++-------------------- dlls/d3d8/resource.c | 24 -- dlls/d3d8/surface.c | 553 ++++----------------------------------------- dlls/d3d8/texture.c | 220 +++++++++--------- dlls/d3d8/volume.c | 232 +++++++------------ dlls/d3d8/volumetexture.c | 284 +++++++++-------------- 10 files changed, 678 insertions(+), 1535 deletions(-) Diff:
http://source.winehq.org/git/?p=wine.git;a=commitdiff;h=3da999a1f796ddebc8b…
1
0
0
0
Eric Pouech : winedbg: Fixed regression: stack info was no longer working.
by Alexandre Julliard
20 Feb '06
20 Feb '06
Module: wine Branch: refs/heads/master Commit: 804cd257f6d46aed50a4a8cb3716f8e1dde72d5c URL:
http://source.winehq.org/git/?p=wine.git;a=commit;h=804cd257f6d46aed50a4a8c…
Author: Eric Pouech <eric.pouech(a)wanadoo.fr> Date: Mon Feb 20 11:03:33 2006 +0100 winedbg: Fixed regression: stack info was no longer working. --- programs/winedbg/stack.c | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-) diff --git a/programs/winedbg/stack.c b/programs/winedbg/stack.c index 91796c8..675427b 100644 --- a/programs/winedbg/stack.c +++ b/programs/winedbg/stack.c @@ -43,7 +43,7 @@ void stack_info(void) struct dbg_lvalue lvalue; lvalue.cookie = 0; - lvalue.type.id = dbg_itype_none; + lvalue.type.id = dbg_itype_segptr; lvalue.type.module = 0; /* FIXME: we assume stack grows the same way as on i386 */
1
0
0
0
appdb/admin adminAppQueue.php
by WineHQ
20 Feb '06
20 Feb '06
ChangeSet ID: 23133 CVSROOT: /opt/cvs-commit Module name: appdb Changes by: wineowner(a)winehq.org 2006/02/19 20:53:23 Modified files: admin : adminAppQueue.php Log message: Tony Lambregts <tony.lambregts(a)gmail.com> Cleanup deletion and rejection code Patch:
http://cvs.winehq.org/patch.py?id=23133
Old revision New revision Changes Path 1.51 1.52 +14 -49 appdb/admin/adminAppQueue.php Index: appdb/admin/adminAppQueue.php diff -u -p appdb/admin/adminAppQueue.php:1.51 appdb/admin/adminAppQueue.php:1.52 --- appdb/admin/adminAppQueue.php:1.51 20 Feb 2006 2:53:23 -0000 +++ appdb/admin/adminAppQueue.php 20 Feb 2006 2:53:23 -0000 @@ -177,73 +177,38 @@ if ($_REQUEST['sub']) if (($_REQUEST['apptype'] == "application") && is_numeric($_REQUEST['appId'])) // application { - // get the queued versions that refers to the application entry we just removed - // and delete them as we implicitly added a version entry when adding a new application - $sQuery = "SELECT versionId FROM appVersion WHERE appVersion.appId = '".$_REQUEST['appId']."' AND appVersion.queued = 'true';"; - $hResult = query_appdb($sQuery); - if($hResult) - { - while($oRow = mysql_fetch_object($hResult)) - { - $oVersion = new Version($oRow->versionId); - $oVersion->delete(); - } - } - // delete the application entry $oApp = new Application($_REQUEST['appId']); $oApp->delete(); } else if(($_REQUEST['apptype'] == "version") && is_numeric($_REQUEST['versionId'])) // version + { + // delete the Version entry $oVersion = new Version($_REQUEST['versionId']); $oVersion->delete(); } - foreach($oVersion->aVersionIds as $iTestingId) - { - $oTest = new Version($iTestingId); - $oTest->delete(); - } redirect(apidb_fullurl("admin/adminAppQueue.php")); } else if ($_REQUEST['sub'] == 'Reject') { - if (($_REQUEST['apptype'] == "application") && is_numeric($_REQUEST['appId'])) // application + $oVersion = new Version($_REQUEST['versionId']); + $oTest = new testData($_REQUEST['iTestingId']); + $oVersion->GetOutputEditorValues(); + $oTest->GetOutputEditorValues(); + if ($_REQUEST['apptype'] == "application") // application { - // get the queued versions that refers to the application entry we just removed - // and delete them as we implicitly added a version entry when adding a new application - $sQuery = "SELECT versionId FROM appVersion WHERE appVersion.appId = '".$_REQUEST['appId']."' AND appVersion.queued = 'true';"; - $hResult = query_appdb($sQuery); - if($hResult) - { - while($oRow = mysql_fetch_object($hResult)) - { - $oVersion = new Version($oRow->versionId); - $oVersion->reject(true); - } - } - - // delete the application entry $oApp = new Application($_REQUEST['appId']); + $oApp->GetOutputEditorValues(); // load the values from $_REQUEST + $oApp->update(true); $oApp->reject(); - } else if(($_REQUEST['apptype'] == "version") && is_numeric($_REQUEST['versionId'])) // version - { - $oVersion = new Version($_REQUEST['versionId']); - $oVersion->reject(); - - } - foreach($oVersion->aVersionIds as $iTestingId) - { - $oTest = new Version($iTestingId); - $oTest->GetOutputEditorValues(); - $oTest->iVersionId = $oVersion->iVersionId; - $oTest->Update(); - $oTest->reject(); } - - - redirect(apidb_fullurl("admin/adminAppQueue.php")); + $oVersion->update(true); + $oVersion->reject(); + $oTest->update(true); + $oTest->reject(); + redirect($_SERVER['PHP_SELF']); } //process according to sub flag
1
0
0
0
appdb/ include/version.php admin/deleteAny.php
by WineHQ
20 Feb '06
20 Feb '06
ChangeSet ID: 23132 CVSROOT: /opt/cvs-commit Module name: appdb Changes by: wineowner(a)winehq.org 2006/02/19 20:51:19 Modified files: include : version.php admin : deleteAny.php Log message: Tony Lambregts <tony.lambregts(a)gmail.com> Fix deletion of test results when a version is deleted Patch:
http://cvs.winehq.org/patch.py?id=23132
Old revision New revision Changes Path 1.47 1.48 +2 -1 appdb/include/version.php 1.15 1.16 +1 -0 appdb/admin/deleteAny.php Index: appdb/include/version.php diff -u -p appdb/include/version.php:1.47 appdb/include/version.php:1.48 --- appdb/include/version.php:1.47 20 Feb 2006 2:51:19 -0000 +++ appdb/include/version.php 20 Feb 2006 2:51:19 -0000 @@ -148,10 +148,11 @@ class Version { $this->aTestingIds[] = $oRow->testingId; } } + /* * We fetch monitor Ids. */ - $this->aTestingIds = array(); + $this->aMonitorIds = array(); $sQuery = "SELECT * FROM appMonitors WHERE versionId = ".$iVersionId." Index: appdb/admin/deleteAny.php diff -u -p appdb/admin/deleteAny.php:1.15 appdb/admin/deleteAny.php:1.16 --- appdb/admin/deleteAny.php:1.15 20 Feb 2006 2:51:19 -0000 +++ appdb/admin/deleteAny.php 20 Feb 2006 2:51:19 -0000 @@ -12,6 +12,7 @@ require_once(BASE."include/category.php" require_once(BASE."include/application.php"); require_once(BASE."include/mail.php"); require_once(BASE."include/monitor.php"); +require_once(BASE."include/testResults.php"); if($_REQUEST['confirmed'] != "yes")
1
0
0
0
Jeff Latimer : usp10: Add ScriptItemize functionality.
by Alexandre Julliard
18 Feb '06
18 Feb '06
Module: wine Branch: refs/heads/master Commit: e4a154cfb9966dc38b5ac72106e84d8310a8c273 URL:
http://source.winehq.org/git/?p=wine.git;a=commit;h=e4a154cfb9966dc38b5ac72…
Author: Jeff Latimer <lats(a)yless4u.com.au> Date: Sat Feb 18 16:00:29 2006 +0100 usp10: Add ScriptItemize functionality. --- dlls/usp10/tests/usp10.c | 10 ++++---- dlls/usp10/usp10.c | 60 +++++++++++++++++++++++++++++++++++++++++++++- 2 files changed, 64 insertions(+), 6 deletions(-) diff --git a/dlls/usp10/tests/usp10.c b/dlls/usp10/tests/usp10.c index 83c297a..0b55991 100644 --- a/dlls/usp10/tests/usp10.c +++ b/dlls/usp10/tests/usp10.c @@ -113,7 +113,7 @@ START_TEST(usp10) ok (hr == 0, "ScriptItemize should return 0, returned %08x\n", (unsigned int) hr); /* This test is for the interim operation of ScriptItemize where only one SCRIPT_ITEM is * * returned. */ - todo_wine ok (pcItems > 0, "The number of SCRIPT_ITEMS should be greater than 0\n"); + ok (pcItems > 0, "The number of SCRIPT_ITEMS should be greater than 0\n"); if (pcItems > 0) ok (pItem[0].iCharPos == 0 && pItem[1].iCharPos == cInChars, "Start pos not = 0 (%d) or end pos not = %d (%d)\n", @@ -130,7 +130,7 @@ START_TEST(usp10) hr = ScriptShape(NULL, &psc, TestItem1, cChars, cMaxGlyphs, &pItem[0].a, pwOutGlyphs, pwLogClust, psva, &pcGlyphs); - todo_wine ok (hr == E_OUTOFMEMORY, "If not enoungh output area cChars (%d) is > than CMaxGlyphs (%d) but not E_OUTOFMEMORY\n", + todo_wine ok (hr == E_OUTOFMEMORY, "If not enough output area cChars (%d) is > than CMaxGlyphs (%d) but not E_OUTOFMEMORY\n", cChars, cMaxGlyphs); cMaxGlyphs = 256; hr = ScriptShape(NULL, &psc, TestItem1, cChars, @@ -159,7 +159,7 @@ START_TEST(usp10) ok (hr == 0, "ScriptItemize should return 0, returned %08x\n", (unsigned int) hr); /* This test is for the intertrim operation of ScriptItemize where only one SCRIPT_ITEM is * * returned. */ - todo_wine ok (pItem[0].iCharPos == 0 && pItem[1].iCharPos == cInChars, + ok (pItem[0].iCharPos == 0 && pItem[1].iCharPos == cInChars, "Start pos not = 0 (%d) or end pos not = %d (%d)\n", pItem[0].iCharPos, cInChars, pItem[1].iCharPos); /* It would appear that we have a valid SCRIPT_ANALYSIS and can continue */ @@ -172,7 +172,7 @@ START_TEST(usp10) pwOutGlyphs, pwLogClust, psva, &pcGlyphs); ok (hr != E_PENDING, "If psc should not be NULL (%08x) and the E_PENDING should be returned\n", (unsigned int) hr); - todo_wine ok (hr == 0, "Should return 0 not (%08x)\n", (unsigned int) hr); + todo_wine ok (hr == 0, "ScriptShape should return 0 not (%08x)\n", (unsigned int) hr); todo_wine ok (psc != NULL, "psc should not be null and have SCRIPT_CACHE buffer address\n"); todo_wine ok (pcGlyphs == cChars, "Chars in (%d) should equal Glyphs out (%d)\n", cChars, pcGlyphs); for (cnt=0; cnt < cChars && TestItem2[cnt] == pwOutGlyphs[cnt]; cnt++) {} @@ -181,7 +181,7 @@ START_TEST(usp10) if (hr ==0) { hr = ScriptPlace(NULL, &psc, pwOutGlyphs, pcGlyphs, psva, &pItem[0].a, piAdvance, pGoffset, pABC); - todo_wine ok (hr == 0, "Should return 0 not (%08x)\n", (unsigned int) hr); + todo_wine ok (hr == 0, "ScriptPlace should return 0 not (%08x)\n", (unsigned int) hr); } } hr = ScriptFreeCache( &psc); diff --git a/dlls/usp10/usp10.c b/dlls/usp10/usp10.c index dd26867..76d0db0 100644 --- a/dlls/usp10/usp10.c +++ b/dlls/usp10/usp10.c @@ -156,13 +156,71 @@ HRESULT WINAPI ScriptItemize(const WCHAR const SCRIPT_CONTROL *psControl, const SCRIPT_STATE *psState, SCRIPT_ITEM *pItems, int *pcItems) { + /* This implementation currently treats the entire string represented in + * pwcInChars as a single entity. Hence pcItems will be set to 1. */ + FIXME("%s,%d,%d,%p,%p,%p,%p\n", debugstr_w(pwcInChars), cInChars, cMaxItems, psControl, psState, pItems, pcItems); if (!pwcInChars || !cInChars || !pItems || cMaxItems < 2) return E_INVALIDARG; - *pcItems = 0; + /* Set a sensible default */ + /* Set SCRIPT_ITEM */ + pItems[0].iCharPos = 0; + /* Set the SCRIPT_ANALYSIS */ + pItems[0].a.eScript = SCRIPT_UNDEFINED; + pItems[0].a.fRTL = 0; + pItems[0].a.fLayoutRTL = 0; + pItems[0].a.fLinkBefore = 0; + pItems[0].a.fLinkAfter = 0; + pItems[0].a.fLogicalOrder = 0; + pItems[0].a.fNoGlyphIndex = 0; + /* set the SCRIPT_STATE */ + pItems[0].a.s.uBidiLevel = 0; + pItems[0].a.s.fOverrideDirection = 0; + pItems[0].a.s.fInhibitSymSwap = FALSE; + pItems[0].a.s.fCharShape = 0; + pItems[0].a.s.fDigitSubstitute = 0; + pItems[0].a.s.fInhibitLigate = 0; + pItems[0].a.s.fDisplayZWG = 0; + pItems[0].a.s.fArabicNumContext = 0; + pItems[0].a.s.fGcpClusters = 0; + pItems[0].a.s.fReserved = 0; + pItems[0].a.s.fEngineReserved = 0; + + /* While not strickly necessary according to the spec, make sure the n+1 + * item is set up to prevent random behaviour if the caller eroneously + * checks the n+1 structure */ + pItems[1].a.eScript = 0; + pItems[1].a.fRTL = 0; + pItems[1].a.fLayoutRTL = 0; + pItems[1].a.fLinkBefore = 0; + pItems[1].a.fLinkAfter = 0; + pItems[1].a.fLogicalOrder = 0; + pItems[1].a.fNoGlyphIndex = 0; + /* set the SCRIPT_STATE */ + pItems[1].a.s.uBidiLevel = 0; + pItems[1].a.s.fOverrideDirection = 0; + pItems[1].a.s.fInhibitSymSwap = FALSE; + pItems[1].a.s.fCharShape = 0; + pItems[1].a.s.fDigitSubstitute = 0; + pItems[1].a.s.fInhibitLigate = 0; + pItems[1].a.s.fDisplayZWG = 0; + pItems[1].a.s.fArabicNumContext = 0; + pItems[1].a.s.fGcpClusters = 0; + pItems[1].a.s.fReserved = 0; + pItems[1].a.s.fEngineReserved = 0; + + /* Set one SCRIPT_STATE item being returned */ + *pcItems = 1; + + /* Set SCRIPT_ITEM */ + pItems[1].iCharPos = cInChars - pItems[0].iCharPos ; /* the last + 1 item + contains the ptr to the lastchar */ + TRACE("%s,%d,%d,%p,%p,%p,%p,%d\n", debugstr_w(pwcInChars), cInChars, cMaxItems, + psControl, psState, pItems, pcItems, *pcItems); + TRACE("Start Pos in string: %d, Stop Pos %d\n", pItems[0].iCharPos, pItems[1].iCharPos); return 0; }
1
0
0
0
Hans Leidekker : winebrowser: Handle file URLs.
by Alexandre Julliard
18 Feb '06
18 Feb '06
Module: wine Branch: refs/heads/master Commit: 68d41b41b7fbcd53928ca9842ee51fb90506d5e7 URL:
http://source.winehq.org/git/?p=wine.git;a=commit;h=68d41b41b7fbcd53928ca98…
Author: Hans Leidekker <hans(a)it.vu.nl> Date: Sat Feb 18 15:50:06 2006 +0100 winebrowser: Handle file URLs. --- programs/winebrowser/Makefile.in | 2 + programs/winebrowser/main.c | 57 +++++++++++++++++++++++++++++++------- 2 files changed, 48 insertions(+), 11 deletions(-) diff --git a/programs/winebrowser/Makefile.in b/programs/winebrowser/Makefile.in index 84b5917..f42d614 100644 --- a/programs/winebrowser/Makefile.in +++ b/programs/winebrowser/Makefile.in @@ -4,7 +4,7 @@ SRCDIR = @srcdir@ VPATH = @srcdir@ MODULE = winebrowser.exe APPMODE = -mconsole -IMPORTS = advapi32 kernel32 +IMPORTS = shlwapi advapi32 kernel32 C_SRCS = \ main.c diff --git a/programs/winebrowser/main.c b/programs/winebrowser/main.c index 6835d47..094468f 100644 --- a/programs/winebrowser/main.c +++ b/programs/winebrowser/main.c @@ -27,10 +27,10 @@ * The application to launch is chosen from a default set or, if set, * taken from a registry key. * - * The argument may be a regular Windows file name, an http(s) URL or a - * mailto URL. In the first two cases the argument will be fed to a web - * browser. In the third case the argument is fed to a mail client. - * A mailto URL is composed as follows: + * The argument may be a regular Windows file name, a file URL, an + * http(s) URL or a mailto URL. In the first three cases the argument + * will be fed to a web browser. In the last case the argument is fed + * to a mail client. A mailto URL is composed as follows: * * mailto:[E-MAIL]?subject=[TOPIC]&cc=[E-MAIL]&bcc=[E-MAIL]&body=[TEXT] */ @@ -41,6 +41,7 @@ #include "wine/port.h" #include <windows.h> +#include <shlwapi.h> #include <stdio.h> #include <stdlib.h> #include <errno.h> @@ -140,6 +141,7 @@ static int open_mailto_url( const char * */ int main(int argc, char *argv[]) { + char *url = argv[1]; wine_get_unix_file_name_t wine_get_unix_file_name_ptr; if (argc == 1) @@ -148,6 +150,41 @@ int main(int argc, char *argv[]) return 1; } + /* handle an RFC1738 file URL */ + if (!strncasecmp( url, "file:", 5 )) + { + char *p; + DWORD len = lstrlenA( url ) + 1; + + if (UrlUnescapeA( url, NULL, &len, URL_UNESCAPE_INPLACE ) != S_OK) + { + fprintf( stderr, "winebrowser: unescaping URL failed: %s\n", url ); + return 1; + } + + /* look for a Windows path after 'file:' */ + p = url + 5; + while (*p) + { + if (isalpha( p[0] ) && (p[1] == ':' || p[1] == '|')) break; + p++; + } + if (!*p) + { + fprintf( stderr, "winebrowser: no valid Windows path in: %s\n", url ); + return 1; + } + + if (p[1] == '|') p[1] = ':'; + url = p; + + while (*p) + { + if (*p == '/') *p = '\\'; + p++; + } + } + /* check if the argument is a local file */ wine_get_unix_file_name_ptr = (wine_get_unix_file_name_t) GetProcAddress( GetModuleHandle( "KERNEL32" ), "wine_get_unix_file_name" ); @@ -162,7 +199,7 @@ int main(int argc, char *argv[]) char *unixpath; WCHAR unixpathW[MAX_PATH]; - MultiByteToWideChar( CP_ACP, 0, argv[1], -1, unixpathW, MAX_PATH ); + MultiByteToWideChar( CP_ACP, 0, url, -1, unixpathW, MAX_PATH ); if ((unixpath = wine_get_unix_file_name_ptr( unixpathW ))) { struct stat dummy; @@ -172,12 +209,12 @@ int main(int argc, char *argv[]) } } - if (!strncasecmp( argv[1], "http:", 5 ) || !strncasecmp( argv[1], "https:", 6 )) - return open_http_url( argv[1] ); + if (!strncasecmp( url, "http:", 5 ) || !strncasecmp( url, "https:", 6 )) + return open_http_url( url ); - if (!strncasecmp( argv[1], "mailto:", 7 )) - return open_mailto_url( argv[1] ); + if (!strncasecmp( url, "mailto:", 7 )) + return open_mailto_url( url ); - fprintf( stderr, "winebrowser: cannot handle this type of URL\n" ); + fprintf( stderr, "winebrowser: cannot handle this type of URL: %s\n", url ); return 1; }
1
0
0
0
Juan Lang : wintrust: Add some stubs.
by Alexandre Julliard
18 Feb '06
18 Feb '06
Module: wine Branch: refs/heads/master Commit: 2c5f20b7019db04277d2d5261af2410b4749f86d URL:
http://source.winehq.org/git/?p=wine.git;a=commit;h=2c5f20b7019db04277d2d52…
Author: Juan Lang <juan_lang(a)yahoo.com> Date: Sat Feb 18 15:50:01 2006 +0100 wintrust: Add some stubs. --- dlls/wintrust/wintrust.spec | 6 + dlls/wintrust/wintrust_main.c | 31 ++++++++ include/wintrust.h | 166 +++++++++++++++++++++++++++++++++++++++++ 3 files changed, 200 insertions(+), 3 deletions(-) diff --git a/dlls/wintrust/wintrust.spec b/dlls/wintrust/wintrust.spec index fccc4aa..d5d0994 100644 --- a/dlls/wintrust/wintrust.spec +++ b/dlls/wintrust/wintrust.spec @@ -82,10 +82,10 @@ @ stub WTHelperGetKnownUsages @ stub WTHelperGetProvCertFromChain @ stub WTHelperGetProvPrivateDataFromChain -@ stub WTHelperGetProvSignerFromChain +@ stdcall WTHelperGetProvSignerFromChain(ptr long long long) @ stub WTHelperIsInRootStore @ stub WTHelperOpenKnownStores -@ stub WTHelperProvDataFromStateData +@ stdcall WTHelperProvDataFromStateData(ptr) @ stub WVTAsn1CatMemberInfoDecode @ stub WVTAsn1CatMemberInfoEncode @ stub WVTAsn1CatNameValueDecode @@ -109,7 +109,7 @@ @ stub WVTAsn1SpcStatementTypeDecode @ stub WVTAsn1SpcStatementTypeEncode @ stdcall WinVerifyTrust(long ptr ptr) -@ stub WinVerifyTrustEx +@ stdcall WinVerifyTrustEx(long ptr ptr) @ stdcall WintrustAddActionID(ptr long ptr) @ stub WintrustAddDefaultForUsage @ stub WintrustCertificateTrust diff --git a/dlls/wintrust/wintrust_main.c b/dlls/wintrust/wintrust_main.c index 30bb992..3d7ac5c 100644 --- a/dlls/wintrust/wintrust_main.c +++ b/dlls/wintrust/wintrust_main.c @@ -94,6 +94,37 @@ LONG WINAPI WinVerifyTrust( HWND hwnd, G } /*********************************************************************** + * WinVerifyTrustEx (WINTRUST.@) + */ +HRESULT WINAPI WinVerifyTrustEx( HWND hwnd, GUID *ActionID, + WINTRUST_DATA* ActionData ) +{ + FIXME("%p %s %p\n", hwnd, debugstr_guid(ActionID), ActionData); + return S_OK; +} + +/*********************************************************************** + * WTHelperGetProvSignerFromChain (WINTRUST.@) + */ +CRYPT_PROVIDER_SGNR * WINAPI WTHelperGetProvSignerFromChain( + CRYPT_PROVIDER_DATA *pProvData, DWORD idxSigner, BOOL fCounterSigner, + DWORD idxCounterSigner) +{ + FIXME("%p %ld %d %ld\n", pProvData, idxSigner, fCounterSigner, + idxCounterSigner); + return NULL; +} + +/*********************************************************************** + * WTHelperProvDataFromStateData (WINTRUST.@) + */ +CRYPT_PROVIDER_DATA * WINAPI WTHelperProvDataFromStateData(HANDLE hStateData) +{ + FIXME("%p\n", hStateData); + return NULL; +} + +/*********************************************************************** * WintrustAddActionID (WINTRUST.@) */ BOOL WINAPI WintrustAddActionID( GUID* pgActionID, DWORD fdwFlags, diff --git a/include/wintrust.h b/include/wintrust.h index e86179b..174a391 100644 --- a/include/wintrust.h +++ b/include/wintrust.h @@ -121,6 +121,166 @@ typedef struct _CRYPT_REGISTER_ACTIONID CRYPT_TRUST_REG_ENTRY sCleanupProvider; } CRYPT_REGISTER_ACTIONID, *PCRYPT_REGISTER_ACTIONID; +typedef struct _CRYPT_PROVUI_DATA { + DWORD cbStruct; + DWORD dwFinalError; + WCHAR *pYesButtonText; + WCHAR *pNoButtonText; + WCHAR *pMoreInfoButtonText; + WCHAR *pAdvancedLinkText; + WCHAR *pCopyActionText; + WCHAR *pCopyActionTextNoTS; + WCHAR *pCopyActionTextNotSigned; +} CRYPT_PROVUI_DATA, *PCRYPT_PROVUI_DATA; + +typedef struct _CRYPT_PROVIDER_CERT { + DWORD cbStruct; + PCCERT_CONTEXT pCert; + BOOL fCommercial; + BOOL fTrustedRoot; + BOOL fSelfSigned; + BOOL fTestCert; + DWORD dwRevokedReason; + DWORD dwConfidence; + DWORD dwError; + CTL_CONTEXT *pTrustListContext; + BOOL fTrustListSignerCert; + PCCTL_CONTEXT pCtlContext; + DWORD dwCtlError; + BOOL fIsCyclic; + PCERT_CHAIN_ELEMENT pChainElement; +} CRYPT_PROVIDER_CERT, *PCRYPT_PROVIDER_CERT; + +typedef struct _CRYPT_PROVIDER_SGNR { + DWORD cbStruct; + FILETIME sftVerifyAsOf; + DWORD csCertChain; + CRYPT_PROVIDER_CERT *pasCertChain; + DWORD dwSignerType; + CMSG_SIGNER_INFO *psSigner; + DWORD dwError; + DWORD csCounterSigners; + struct _CRYPT_PROVIDER_SGNR *pasCounterSigners; + PCCERT_CHAIN_CONTEXT pChainContext; +} CRYPT_PROVIDER_SGNR, *PCRYPT_PROVIDER_SGNR; + +typedef struct _CRYPT_PROVIDER_PRIVDATA { + DWORD cbStruct; + GUID gProviderID; + DWORD cbProvData; + void *pvProvData; +} CRYPT_PROVIDER_PRIVDATA, *PCRYPT_PROVIDER_PRIVDATA; + +struct _CRYPT_PROVIDER_DATA; + +typedef void * (*PFN_CPD_MEM_ALLOC)(DWORD cbSize); +typedef void (*PFN_CPD_MEM_FREE)(void *pvMem2Free); +typedef BOOL (*PFN_CPD_ADD_STORE)(struct _CRYPT_PROVIDER_DATA *pProvData, + HCERTSTORE hStore2Add); +typedef BOOL (*PFN_CPD_ADD_SGNR)(struct _CRYPT_PROVIDER_DATA *pProvData, + BOOL fCounterSigner, DWORD idxSigner, struct _CRYPT_PROVIDER_SGNR *pSgnr2Add); +typedef BOOL (*PFN_CPD_ADD_CERT)(struct _CRYPT_PROVIDER_DATA *pProvData, + DWORD idxSigner, BOOL fCounterSigner, DWORD idxCounterSigner, + PCCERT_CONTEXT pCert2Add); +typedef BOOL (*PFN_CPD_ADD_PRIVDATA)(struct _CRYPT_PROVIDER_DATA *pProvData, + struct _CRYPT_PROVIDER_PRIVDATA *pPrivData2Add); +typedef HRESULT (*PFN_PROVIDER_INIT_CALL)( + struct _CRYPT_PROVIDER_DATA *pProvData); +typedef HRESULT (*PFN_PROVIDER_OBJTRUST_CALL)( + struct _CRYPT_PROVIDER_DATA *pProvData); +typedef HRESULT (*PFN_PROVIDER_SIGTRUST_CALL)( + struct _CRYPT_PROVIDER_DATA *pProvData); +typedef HRESULT (*PFN_PROVIDER_CERTTTRUST_CALL)( + struct _CRYPT_PROVIDER_DATA *pProvData); +typedef HRESULT (*PFN_PROVIDER_FINALPOLICY_CALL)( + struct _CRYPT_PROVIDER_DATA *pProvData); +typedef HRESULT (*PFN_PROVIDER_TESTFINALPOLICY_CALL)( + struct _CRYPT_PROVIDER_DATA *pProvData); +typedef HRESULT (*PFN_PROVIDER_CLEANUP_CALL)( + struct _CRYPT_PROVIDER_DATA *pProvData); +typedef BOOL (*PFN_PROVIDER_CERTCHKPOLICY_CALL)( + struct _CRYPT_PROVIDER_DATA *pProvData, DWORD idxSigner, + BOOL fCounterSignerChain, DWORD idxCounterSigner); + +typedef struct _CRYPT_PROVIDER_FUNCTIONS { + DWORD cbStruct; + PFN_CPD_MEM_ALLOC pfnAlloc; + PFN_CPD_MEM_FREE pfnFree; + PFN_CPD_ADD_STORE pfnAddStore2Chain; + PFN_CPD_ADD_SGNR pfnAddSgnr2Chain; + PFN_CPD_ADD_CERT pfnAddCert2Chain; + PFN_CPD_ADD_PRIVDATA pfnAddPrivData2Chain; + PFN_PROVIDER_INIT_CALL pfnInitialize; + PFN_PROVIDER_OBJTRUST_CALL pfnObjectTrust; + PFN_PROVIDER_SIGTRUST_CALL pfnSignatureTrust; + PFN_PROVIDER_CERTTTRUST_CALL pfnCertificateTrust; + PFN_PROVIDER_FINALPOLICY_CALL pfnFinalPolicy; + PFN_PROVIDER_CERTCHKPOLICY_CALL pfnCertCheckPolicy; + PFN_PROVIDER_TESTFINALPOLICY_CALL pfnTestFinalPolicy; + struct _CRYPT_PROVUI_FUNCS *psUIpfns; + PFN_PROVIDER_CLEANUP_CALL pfnCleanupPolicy; +} CRYPT_PROVIDER_FUNCTIONS, *PCRYPT_PROVIDER_FUNCTIONS; + +struct SIP_DISPATCH_INFO_; +struct SIP_SUBJECTINFO_; +struct SIP_INDIRECT_DATA_; + +typedef struct _PROVDATA_SIP { + DWORD cbStruct; + GUID gSubject; + struct SIP_DISPATCH_INFO_ *pSip; + struct SIP_DISPATCH_INFO_ *pCATSip; + struct SIP_SUBJECTINFO_ *psSipSubjectInfo; + struct SIP_SUBJECTINFO_ *psSipCATSubjectInfo; + struct SIP_INDIRECT_DATA_ *psIndirectData; +} PROVDATA_SIP, *PPROVDATA_SIP; + +typedef struct _CRYPT_PROVIDER_DATA { + DWORD cbStruct; + WINTRUST_DATA *pWintrustData; + BOOL fOpenedFile; + HWND hWndParent; + GUID *pgActionID; + HCRYPTPROV hProv; + DWORD dwError; + DWORD dwRegSecuritySettings; + DWORD dwRegPolicySettings; + CRYPT_PROVIDER_FUNCTIONS *psPfns; + DWORD cdwTrustStepErrors; + DWORD *padwTrustStepErrors; + DWORD chStores; + HCERTSTORE *pahStores; + DWORD dwEncoding; + HCRYPTMSG hMsg; + DWORD csSigners; + CRYPT_PROVIDER_SGNR *pasSigners; + DWORD dwSubjectChoice; + union { + struct _PROVDATA_SIP *pPDSip; + } DUMMYUNIONNAME; + char *pszUsageOID; + BOOL fRecallWithState; + FILETIME sftSystemTime; + char *pszCTLSignerUsageOID; + DWORD dwProvFlags; + DWORD dwFinalError; + PCERT_USAGE_MATCH pRequestUsage; + DWORD dwTrustPubSettings; + DWORD dwUIStateFlags; +} CRYPT_PROVIDER_DATA, *PCRYPT_PROVIDER_DATA; + +typedef BOOL (*PFN_PROVUI_CALL)(HWND hWndSecurityDialog, + struct _CRYPT_PROVIDER_DATA *pProvData); + +typedef struct _CRYPT_PROVUI_FUNCS { + DWORD cbStruct; + CRYPT_PROVUI_DATA psUIData; + PFN_PROVUI_CALL pfnOnMoreInfoClick; + PFN_PROVUI_CALL pfnOnMoreInfoClickDefault; + PFN_PROVUI_CALL pfnOnAdvancedClick; + PFN_PROVUI_CALL pfnOnAdvancedClickDefault; +} CRYPT_PROVUI_FUNCS, *PCRYPT_PROVUI_FUNCS; + #include <poppack.h> @@ -131,6 +291,12 @@ extern "C" { BOOL WINAPI WintrustAddActionID(GUID*,DWORD,CRYPT_REGISTER_ACTIONID*); void WINAPI WintrustGetRegPolicyFlags(DWORD*); LONG WINAPI WinVerifyTrust(HWND,GUID*,WINTRUST_DATA*); +HRESULT WINAPI WinVerifyTrustEx(HWND,GUID*,WINTRUST_DATA*); + +CRYPT_PROVIDER_SGNR * WINAPI WTHelperGetProvSignerFromChain( + CRYPT_PROVIDER_DATA *pProvData, DWORD idxSigner, BOOL fCounterSigner, + DWORD idxCounterSigner); +CRYPT_PROVIDER_DATA * WINAPI WTHelperProvDataFromStateData(HANDLE hStateData); #ifdef __cplusplus }
1
0
0
0
Juan Lang : crypt32: Implement enhanced key usage.
by Alexandre Julliard
18 Feb '06
18 Feb '06
Module: wine Branch: refs/heads/master Commit: 079afa21defac8c39643126590083d221f770b1e URL:
http://source.winehq.org/git/?p=wine.git;a=commit;h=079afa21defac8c39643126…
Author: Juan Lang <juan_lang(a)yahoo.com> Date: Sat Feb 18 15:49:54 2006 +0100 crypt32: Implement enhanced key usage. Implement CertGetEnhancedKeyUsage, CertSetEnhancedKeyUsage, CertAddEnhancedKeyUsageIdentifier, and CertRemoveEnhancedKeyUsageIdentifier. --- dlls/crypt32/cert.c | 259 ++++++++++++++++++++++++++++++++++++++ dlls/crypt32/crypt32.spec | 8 + dlls/crypt32/tests/cert.c | 306 +++++++++++++++++++++++++++++++++++++++++++++ include/wincrypt.h | 45 +++++++ 4 files changed, 614 insertions(+), 4 deletions(-) Diff:
http://source.winehq.org/git/?p=wine.git;a=commitdiff;h=079afa21defac8c3964…
1
0
0
0
Stefan Leichter : winetest: Added usp10 tests.
by Alexandre Julliard
18 Feb '06
18 Feb '06
Module: wine Branch: refs/heads/master Commit: 7eba266ea87e21d6551d53bc7e7258b1ba2e84b5 URL:
http://source.winehq.org/git/?p=wine.git;a=commit;h=7eba266ea87e21d6551d53b…
Author: Stefan Leichter <Stefan.Leichter(a)camLine.com> Date: Sat Feb 18 15:04:11 2006 +0100 winetest: Added usp10 tests. --- programs/winetest/Makefile.in | 3 +++ 1 files changed, 3 insertions(+), 0 deletions(-) diff --git a/programs/winetest/Makefile.in b/programs/winetest/Makefile.in index 646fb3c..70e54a5 100644 --- a/programs/winetest/Makefile.in +++ b/programs/winetest/Makefile.in @@ -60,6 +60,7 @@ TESTBINS = \ shell32_test.exe$(DLLEXT) \ shlwapi_test.exe$(DLLEXT) \ urlmon_test.exe$(DLLEXT) \ + usp10_test.exe$(DLLEXT) \ user32_test.exe$(DLLEXT) \ version_test.exe$(DLLEXT) \ wininet_test.exe$(DLLEXT) \ @@ -176,6 +177,8 @@ shlwapi_test.exe$(DLLEXT): $(DLLDIR)/shl cp $(DLLDIR)/shlwapi/tests/shlwapi_test.exe$(DLLEXT) $@ && $(STRIP) $@ urlmon_test.exe$(DLLEXT): $(DLLDIR)/urlmon/tests/urlmon_test.exe$(DLLEXT) cp $(DLLDIR)/urlmon/tests/urlmon_test.exe$(DLLEXT) $@ && $(STRIP) $@ +usp10_test.exe$(DLLEXT): $(DLLDIR)/usp10/tests/usp10_test.exe$(DLLEXT) + cp $(DLLDIR)/usp10/tests/usp10_test.exe$(DLLEXT) $@ && $(STRIP) $@ user32_test.exe$(DLLEXT): $(DLLDIR)/user/tests/user32_test.exe$(DLLEXT) cp $(DLLDIR)/user/tests/user32_test.exe$(DLLEXT) $@ && $(STRIP) $@ wininet_test.exe$(DLLEXT): $(DLLDIR)/wininet/tests/wininet_test.exe$(DLLEXT)
1
0
0
0
← Newer
1
...
18
19
20
21
22
23
24
...
70
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
Results per page:
10
25
50
100
200