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
June 2012
----- 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
827 discussions
Start a n
N
ew thread
Aric Stewart : usp10: Insert dotted circle (U+25CC) for invalid combining sequences in Thaana.
by Alexandre Julliard
04 Jun '12
04 Jun '12
Module: wine Branch: master Commit: 14f42cdcbcfa4afe70309982012250e05618ef70 URL:
http://source.winehq.org/git/wine.git/?a=commit;h=14f42cdcbcfa4afe703099820…
Author: Aric Stewart <aric(a)codeweavers.com> Date: Mon Jun 4 07:44:09 2012 -0500 usp10: Insert dotted circle (U+25CC) for invalid combining sequences in Thaana. --- dlls/usp10/shape.c | 41 ++++++++++++++++++++++++++++++++++++++++- 1 files changed, 40 insertions(+), 1 deletions(-) diff --git a/dlls/usp10/shape.c b/dlls/usp10/shape.c index cf137bb..6592cda 100644 --- a/dlls/usp10/shape.c +++ b/dlls/usp10/shape.c @@ -44,6 +44,7 @@ typedef VOID (*ContextualShapingProc)(HDC, ScriptCache*, SCRIPT_ANALYSIS*, static void ContextualShape_Arabic(HDC hdc, ScriptCache *psc, SCRIPT_ANALYSIS *psa, WCHAR* pwcChars, INT cChars, WORD* pwOutGlyphs, INT* pcGlyphs, INT cMaxGlyphs, WORD *pwLogClust); static void ContextualShape_Hebrew(HDC hdc, ScriptCache *psc, SCRIPT_ANALYSIS *psa, WCHAR* pwcChars, INT cChars, WORD* pwOutGlyphs, INT* pcGlyphs, INT cMaxGlyphs, WORD *pwLogClust); static void ContextualShape_Syriac(HDC hdc, ScriptCache *psc, SCRIPT_ANALYSIS *psa, WCHAR* pwcChars, INT cChars, WORD* pwOutGlyphs, INT* pcGlyphs, INT cMaxGlyphs, WORD *pwLogClust); +static void ContextualShape_Thaana(HDC hdc, ScriptCache *psc, SCRIPT_ANALYSIS *psa, WCHAR* pwcChars, INT cChars, WORD* pwOutGlyphs, INT* pcGlyphs, INT cMaxGlyphs, WORD *pwLogClust); static void ContextualShape_Phags_pa(HDC hdc, ScriptCache *psc, SCRIPT_ANALYSIS *psa, WCHAR* pwcChars, INT cChars, WORD* pwOutGlyphs, INT* pcGlyphs, INT cMaxGlyphs, WORD *pwLogClust); static void ContextualShape_Sinhala(HDC hdc, ScriptCache *psc, SCRIPT_ANALYSIS *psa, WCHAR* pwcChars, INT cChars, WORD* pwOutGlyphs, INT* pcGlyphs, INT cMaxGlyphs, WORD *pwLogClust); static void ContextualShape_Devanagari(HDC hdc, ScriptCache *psc, SCRIPT_ANALYSIS *psa, WCHAR* pwcChars, INT cChars, WORD* pwOutGlyphs, INT* pcGlyphs, INT cMaxGlyphs, WORD *pwLogClust); @@ -398,7 +399,7 @@ static const ScriptShapeData ShapingData[] = {{ hebrew_features, 1}, NULL, 0, ContextualShape_Hebrew, NULL}, {{ syriac_features, 4}, required_syriac_features, 0, ContextualShape_Syriac, ShapeCharGlyphProp_None}, {{ arabic_features, 6}, required_arabic_features, 0, ContextualShape_Arabic, ShapeCharGlyphProp_Arabic}, - {{ NULL, 0}, NULL, 0, NULL, ShapeCharGlyphProp_None}, + {{ NULL, 0}, NULL, 0, ContextualShape_Thaana, ShapeCharGlyphProp_None}, {{ standard_features, 2}, NULL, 0, NULL, NULL}, {{ standard_features, 2}, NULL, 0, NULL, NULL}, {{ standard_features, 2}, NULL, 0, NULL, NULL}, @@ -1241,6 +1242,44 @@ right_join_causing(neighbour_joining_type(i,dirR,context_type,cChars,psa))) mark_invalid_combinations(hdc, pwcChars, cChars, pwOutGlyphs, pcGlyphs, dirL, pwLogClust, combining_lexical_Syriac); } +static int combining_lexical_Thaana(WCHAR c) +{ + enum {Thaana_Norm=0, Thaana_FILI}; + + switch(c) + { + case 0x7A6: + case 0x7A7: + case 0x7A8: + case 0x7A9: + case 0x7AA: + case 0x7AB: + case 0x7AC: + case 0x7AD: + case 0x7AE: + case 0x7AF: return Thaana_FILI; break; + default: return Thaana_Norm; + } +} + +static void ContextualShape_Thaana(HDC hdc, ScriptCache *psc, SCRIPT_ANALYSIS *psa, WCHAR* pwcChars, INT cChars, WORD* pwOutGlyphs, INT* pcGlyphs, INT cMaxGlyphs, WORD *pwLogClust) +{ + INT dirL; + + if (*pcGlyphs != cChars) + { + ERR("Number of Glyphs and Chars need to match at the beginning\n"); + return; + } + + if (!psa->fLogicalOrder && psa->fRTL) + dirL = -1; + else + dirL = 1; + + mark_invalid_combinations(hdc, pwcChars, cChars, pwOutGlyphs, pcGlyphs, dirL, pwLogClust, combining_lexical_Thaana); +} + /* * ContextualShape_Phags_pa */
1
0
0
0
Aric Stewart : usp10: Insert dotted circle (U+25CC) for invalid combining sequences in Syriac.
by Alexandre Julliard
04 Jun '12
04 Jun '12
Module: wine Branch: master Commit: 3fd459b2327cbbe59b739302e420a7cc35e13d84 URL:
http://source.winehq.org/git/wine.git/?a=commit;h=3fd459b2327cbbe59b739302e…
Author: Aric Stewart <aric(a)codeweavers.com> Date: Mon Jun 4 07:44:06 2012 -0500 usp10: Insert dotted circle (U+25CC) for invalid combining sequences in Syriac. --- dlls/usp10/shape.c | 50 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 50 insertions(+), 0 deletions(-) diff --git a/dlls/usp10/shape.c b/dlls/usp10/shape.c index fcf71f8..cf137bb 100644 --- a/dlls/usp10/shape.c +++ b/dlls/usp10/shape.c @@ -1099,6 +1099,54 @@ static void ContextualShape_Hebrew(HDC hdc, ScriptCache *psc, SCRIPT_ANALYSIS *p * ContextualShape_Syriac */ +static int combining_lexical_Syriac(WCHAR c) +{ + enum {Syriac_Norm=0, Syriac_DIAC1, Syriac_DIAC2, Syriac_DIAC3, Syriac_DIAC4, Syriac_DIAC5, Syriac_DIAC6, Syriac_DIAC7, Syriac_DIAC8, Syriac_DIAC9, Syriac_DIAC10, Syriac_DIAC11, Syriac_DIAC12, Syriac_DIAC13, Syriac_DIAC14, Syriac_DIAC15, Syriac_DIAC16, Syriac_DIAC17}; + + switch(c) + { + case 0x730: + case 0x733: + case 0x736: + case 0x73A: + case 0x73D: return Syriac_DIAC1; break; + case 0x731: + case 0x734: + case 0x737: + case 0x73B: + case 0x73E: return Syriac_DIAC2; break; + case 0x740: + case 0x749: + case 0x74A: return Syriac_DIAC3; break; + case 0x732: + case 0x735: + case 0x73F: return Syriac_DIAC4; break; + case 0x738: + case 0x739: + case 0x73C: return Syriac_DIAC5; break; + case 0x741: + case 0x30A: return Syriac_DIAC6; break; + case 0x742: + case 0x325: return Syriac_DIAC7; break; + case 0x747: + case 0x303: return Syriac_DIAC8; break; + case 0x748: + case 0x32D: + case 0x32E: + case 0x330: + case 0x331: return Syriac_DIAC9; break; + case 0x308: return Syriac_DIAC10; break; + case 0x304: return Syriac_DIAC11; break; + case 0x307: return Syriac_DIAC12; break; + case 0x323: return Syriac_DIAC13; break; + case 0x743: return Syriac_DIAC14; break; + case 0x744: return Syriac_DIAC15; break; + case 0x745: return Syriac_DIAC16; break; + case 0x746: return Syriac_DIAC17; break; + default: return Syriac_Norm; + } +} + #define ALAPH 0x710 #define DALATH 0x715 #define RISH 0x72A @@ -1189,6 +1237,8 @@ right_join_causing(neighbour_joining_type(i,dirR,context_type,cChars,psa))) HeapFree(GetProcessHeap(),0,context_shape); HeapFree(GetProcessHeap(),0,context_type); + + mark_invalid_combinations(hdc, pwcChars, cChars, pwOutGlyphs, pcGlyphs, dirL, pwLogClust, combining_lexical_Syriac); } /*
1
0
0
0
Aric Stewart : usp10: Insert dotted circle (U+25CC) for invalid combining sequences in Hebrew.
by Alexandre Julliard
04 Jun '12
04 Jun '12
Module: wine Branch: master Commit: 8b9a7a1ed81f40415f178b49b6871dce5e8f632b URL:
http://source.winehq.org/git/wine.git/?a=commit;h=8b9a7a1ed81f40415f178b49b…
Author: Aric Stewart <aric(a)codeweavers.com> Date: Mon Jun 4 07:44:03 2012 -0500 usp10: Insert dotted circle (U+25CC) for invalid combining sequences in Hebrew. --- dlls/usp10/shape.c | 80 ++++++++++++++++++++++++++++++++++++++++++++++++++- 1 files changed, 78 insertions(+), 2 deletions(-) diff --git a/dlls/usp10/shape.c b/dlls/usp10/shape.c index 84953fb..fcf71f8 100644 --- a/dlls/usp10/shape.c +++ b/dlls/usp10/shape.c @@ -42,6 +42,7 @@ typedef VOID (*ContextualShapingProc)(HDC, ScriptCache*, SCRIPT_ANALYSIS*, WCHAR*, INT, WORD*, INT*, INT, WORD*); static void ContextualShape_Arabic(HDC hdc, ScriptCache *psc, SCRIPT_ANALYSIS *psa, WCHAR* pwcChars, INT cChars, WORD* pwOutGlyphs, INT* pcGlyphs, INT cMaxGlyphs, WORD *pwLogClust); +static void ContextualShape_Hebrew(HDC hdc, ScriptCache *psc, SCRIPT_ANALYSIS *psa, WCHAR* pwcChars, INT cChars, WORD* pwOutGlyphs, INT* pcGlyphs, INT cMaxGlyphs, WORD *pwLogClust); static void ContextualShape_Syriac(HDC hdc, ScriptCache *psc, SCRIPT_ANALYSIS *psa, WCHAR* pwcChars, INT cChars, WORD* pwOutGlyphs, INT* pcGlyphs, INT cMaxGlyphs, WORD *pwLogClust); static void ContextualShape_Phags_pa(HDC hdc, ScriptCache *psc, SCRIPT_ANALYSIS *psa, WCHAR* pwcChars, INT cChars, WORD* pwOutGlyphs, INT* pcGlyphs, INT cMaxGlyphs, WORD *pwLogClust); static void ContextualShape_Sinhala(HDC hdc, ScriptCache *psc, SCRIPT_ANALYSIS *psa, WCHAR* pwcChars, INT cChars, WORD* pwOutGlyphs, INT* pcGlyphs, INT cMaxGlyphs, WORD *pwLogClust); @@ -394,7 +395,7 @@ static const ScriptShapeData ShapingData[] = {{ latin_features, 2}, NULL, 0, NULL, NULL}, {{ arabic_features, 6}, required_arabic_features, 0, ContextualShape_Arabic, ShapeCharGlyphProp_Arabic}, {{ arabic_features, 6}, required_arabic_features, 0, ContextualShape_Arabic, ShapeCharGlyphProp_Arabic}, - {{ hebrew_features, 1}, NULL, 0, NULL, NULL}, + {{ hebrew_features, 1}, NULL, 0, ContextualShape_Hebrew, NULL}, {{ syriac_features, 4}, required_syriac_features, 0, ContextualShape_Syriac, ShapeCharGlyphProp_None}, {{ arabic_features, 6}, required_arabic_features, 0, ContextualShape_Arabic, ShapeCharGlyphProp_Arabic}, {{ NULL, 0}, NULL, 0, NULL, ShapeCharGlyphProp_None}, @@ -465,7 +466,7 @@ static const ScriptShapeData ShapingData[] = {{ NULL, 0}, NULL, 0, NULL, NULL}, {{ NULL, 0}, NULL, 0, NULL, NULL}, {{ NULL, 0}, NULL, 0, NULL, NULL}, - {{ hebrew_features, 1}, NULL, 0, NULL, NULL}, + {{ hebrew_features, 1}, NULL, 0, ContextualShape_Hebrew, NULL}, {{ latin_features, 2}, NULL, 0, NULL, NULL}, {{ thai_features, 1}, NULL, 0, NULL, ShapeCharGlyphProp_Thai}, }; @@ -1019,6 +1020,81 @@ static void ContextualShape_Arabic(HDC hdc, ScriptCache *psc, SCRIPT_ANALYSIS *p mark_invalid_combinations(hdc, pwcChars, cChars, pwOutGlyphs, pcGlyphs, dirL, pwLogClust, combining_lexical_Arabic); } +static int combining_lexical_Hebrew(WCHAR c) +{ + enum {Hebr_Norm=0, Hebr_DIAC, Hebr_CANT1, Hebr_CANT2, Hebr_CANT3, Hebr_CANT4, Hebr_CANT5, Hebr_CANT6, Hebr_CANT7, Hebr_CANT8, Hebr_CANT9, Hebr_CANT10, Hebr_DAGESH, Hebr_DOTABV, Hebr_HOLAM, Hebr_METEG, Hebr_PATAH, Hebr_QAMATS, Hebr_RAFE, Hebr_SHINSIN}; + + switch(c) + { + case 0x05B0: + case 0x05B1: + case 0x05B2: + case 0x05B3: + case 0x05B4: + case 0x05B5: + case 0x05B6: + case 0x05BB: return Hebr_DIAC; break; + case 0x0599: + case 0x05A1: + case 0x05A9: + case 0x05AE: return Hebr_CANT1; break; + case 0x0597: + case 0x05A8: + case 0x05AC: return Hebr_CANT2; break; + case 0x0592: + case 0x0593: + case 0x0594: + case 0x0595: + case 0x05A7: + case 0x05AB: return Hebr_CANT3; break; + case 0x0598: + case 0x059C: + case 0x059E: + case 0x059F: return Hebr_CANT4; break; + case 0x059D: + case 0x05A0: return Hebr_CANT5; break; + case 0x059B: + case 0x05A5: return Hebr_CANT6; break; + case 0x0591: + case 0x05A3: + case 0x05A6: return Hebr_CANT7; break; + case 0x0596: + case 0x05A4: + case 0x05AA: return Hebr_CANT8; break; + case 0x059A: + case 0x05AD: return Hebr_CANT9; break; + case 0x05AF: return Hebr_CANT10; break; + case 0x05BC: return Hebr_DAGESH; break; + case 0x05C4: return Hebr_DOTABV; break; + case 0x05B9: return Hebr_HOLAM; break; + case 0x05BD: return Hebr_METEG; break; + case 0x05B7: return Hebr_PATAH; break; + case 0x05B8: return Hebr_QAMATS; break; + case 0x05BF: return Hebr_RAFE; break; + case 0x05C1: + case 0x05C2: return Hebr_SHINSIN; break; + default: return Hebr_Norm; + } +} + +static void ContextualShape_Hebrew(HDC hdc, ScriptCache *psc, SCRIPT_ANALYSIS *psa, WCHAR* pwcChars, INT cChars, WORD* pwOutGlyphs, INT* pcGlyphs, INT cMaxGlyphs, WORD *pwLogClust) +{ + INT dirL; + + if (*pcGlyphs != cChars) + { + ERR("Number of Glyphs and Chars need to match at the beginning\n"); + return; + } + + if (!psa->fLogicalOrder && psa->fRTL) + dirL = -1; + else + dirL = 1; + + mark_invalid_combinations(hdc, pwcChars, cChars, pwOutGlyphs, pcGlyphs, dirL, pwLogClust, combining_lexical_Hebrew); +} + /* * ContextualShape_Syriac */
1
0
0
0
Jacek Caban : ieframe: Added IHttpSecurity implementation.
by Alexandre Julliard
04 Jun '12
04 Jun '12
Module: wine Branch: master Commit: 36c9de5c528ac88548280e39b102cdfbbafe66b6 URL:
http://source.winehq.org/git/wine.git/?a=commit;h=36c9de5c528ac88548280e39b…
Author: Jacek Caban <jacek(a)codeweavers.com> Date: Mon Jun 4 15:48:52 2012 +0200 ieframe: Added IHttpSecurity implementation. --- dlls/ieframe/navigate.c | 59 +++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 59 insertions(+), 0 deletions(-) diff --git a/dlls/ieframe/navigate.c b/dlls/ieframe/navigate.c index dac1077..dd4a976 100644 --- a/dlls/ieframe/navigate.c +++ b/dlls/ieframe/navigate.c @@ -38,6 +38,7 @@ static const WCHAR emptyW[] = {0}; typedef struct { IBindStatusCallback IBindStatusCallback_iface; IHttpNegotiate IHttpNegotiate_iface; + IHttpSecurity IHttpSecurity_iface; LONG ref; @@ -164,6 +165,12 @@ static HRESULT WINAPI BindStatusCallback_QueryInterface(IBindStatusCallback *ifa }else if(IsEqualGUID(&IID_IHttpNegotiate, riid)) { TRACE("(%p)->(IID_IHttpNegotiate %p)\n", This, ppv); *ppv = &This->IHttpNegotiate_iface; + }else if(IsEqualGUID(&IID_IWindowForBindingUI, riid)) { + TRACE("(%p)->(IID_IWindowForBindingUI %p)\n", This, ppv); + *ppv = &This->IHttpSecurity_iface; + }else if(IsEqualGUID(&IID_IHttpSecurity, riid)) { + TRACE("(%p)->(IID_IHttpSecurity %p)\n", This, ppv); + *ppv = &This->IHttpSecurity_iface; }else { *ppv = NULL; WARN("(%p)->(%s %p)\n", This, debugstr_guid(riid), ppv); @@ -475,6 +482,57 @@ static const IHttpNegotiateVtbl HttpNegotiateVtbl = { HttpNegotiate_OnResponse }; +static inline BindStatusCallback *impl_from_IHttpSecurity(IHttpSecurity *iface) +{ + return CONTAINING_RECORD(iface, BindStatusCallback, IHttpSecurity_iface); +} + +static HRESULT WINAPI HttpSecurity_QueryInterface(IHttpSecurity *iface, REFIID riid, void **ppv) +{ + BindStatusCallback *This = impl_from_IHttpSecurity(iface); + return IBindStatusCallback_QueryInterface(&This->IBindStatusCallback_iface, riid, ppv); +} + +static ULONG WINAPI HttpSecurity_AddRef(IHttpSecurity *iface) +{ + BindStatusCallback *This = impl_from_IHttpSecurity(iface); + return IBindStatusCallback_AddRef(&This->IBindStatusCallback_iface); +} + +static ULONG WINAPI HttpSecurity_Release(IHttpSecurity *iface) +{ + BindStatusCallback *This = impl_from_IHttpSecurity(iface); + return IBindStatusCallback_Release(&This->IBindStatusCallback_iface); +} + +static HRESULT WINAPI HttpSecurity_GetWindow(IHttpSecurity *iface, REFGUID rguidReason, HWND *phwnd) +{ + BindStatusCallback *This = impl_from_IHttpSecurity(iface); + + TRACE("(%p)->(%s %p)\n", This, debugstr_guid(rguidReason), phwnd); + + if(!This->doc_host) + return E_FAIL; + + *phwnd = This->doc_host->frame_hwnd; + return S_OK; +} + +static HRESULT WINAPI HttpSecurity_OnSecurityProblem(IHttpSecurity *iface, DWORD dwProblem) +{ + BindStatusCallback *This = impl_from_IHttpSecurity(iface); + FIXME("(%p)->(%u)\n", This, dwProblem); + return S_FALSE; +} + +static const IHttpSecurityVtbl HttpSecurityVtbl = { + HttpSecurity_QueryInterface, + HttpSecurity_AddRef, + HttpSecurity_Release, + HttpSecurity_GetWindow, + HttpSecurity_OnSecurityProblem +}; + static BindStatusCallback *create_callback(DocHost *doc_host, LPCWSTR url, PBYTE post_data, ULONG post_data_len, LPCWSTR headers) { @@ -482,6 +540,7 @@ static BindStatusCallback *create_callback(DocHost *doc_host, LPCWSTR url, PBYTE ret->IBindStatusCallback_iface.lpVtbl = &BindStatusCallbackVtbl; ret->IHttpNegotiate_iface.lpVtbl = &HttpNegotiateVtbl; + ret->IHttpSecurity_iface.lpVtbl = &HttpSecurityVtbl; ret->ref = 1; ret->url = heap_strdupW(url);
1
0
0
0
André Hentschel : ntdll: Add a helper function that returns the record length of a dirent struct.
by Alexandre Julliard
04 Jun '12
04 Jun '12
Module: wine Branch: master Commit: 54a9c0fc607f9345505ef45a87247045efbd7488 URL:
http://source.winehq.org/git/wine.git/?a=commit;h=54a9c0fc607f9345505ef45a8…
Author: André Hentschel <nerv(a)dawncrow.de> Date: Sat Jun 2 19:05:30 2012 +0200 ntdll: Add a helper function that returns the record length of a dirent struct. --- configure | 14 ++++++++++++++ configure.ac | 6 ++++++ dlls/ntdll/directory.c | 19 ++++++++++++++----- include/config.h.in | 3 +++ 4 files changed, 37 insertions(+), 5 deletions(-) diff --git a/configure b/configure index e8201d3..a55c6a6 100755 --- a/configure +++ b/configure @@ -13794,6 +13794,20 @@ _ACEOF fi +ac_fn_c_check_member "$LINENO" "struct dirent" "d_reclen" "ac_cv_member_struct_dirent_d_reclen" "#ifdef HAVE_DIRENT_H +#include <dirent.h> +#endif +" +if test "x$ac_cv_member_struct_dirent_d_reclen" = xyes; then : + +cat >>confdefs.h <<_ACEOF +#define HAVE_STRUCT_DIRENT_D_RECLEN 1 +_ACEOF + + +fi + + ac_fn_c_check_member "$LINENO" "struct msghdr" "msg_accrights" "ac_cv_member_struct_msghdr_msg_accrights" "#include <sys/types.h> #ifdef HAVE_SYS_SOCKET_H # include <sys/socket.h> diff --git a/configure.ac b/configure.ac index d1acb72..5cd12a5 100644 --- a/configure.ac +++ b/configure.ac @@ -2219,6 +2219,12 @@ AC_CHECK_MEMBERS([struct statvfs.f_blocks],,, #include <sys/statvfs.h> #endif]) +dnl Check for dirent.d_reclen +AC_CHECK_MEMBERS([struct dirent.d_reclen],,, +[#ifdef HAVE_DIRENT_H +#include <dirent.h> +#endif]) + dnl Check for socket structure members AC_CHECK_MEMBERS([struct msghdr.msg_accrights, struct sockaddr.sa_len, struct sockaddr_un.sun_len],,, [#include <sys/types.h> diff --git a/dlls/ntdll/directory.c b/dlls/ntdll/directory.c index 329e063..c8fff6b 100644 --- a/dlls/ntdll/directory.c +++ b/dlls/ntdll/directory.c @@ -1709,6 +1709,15 @@ static inline int wine_getdirentries(int fd, char *buf, int nbytes, long *basep) return res; } +static inline int dir_reclen(struct dirent *de) +{ +#ifdef HAVE_STRUCT_DIRENT_D_RECLEN + return de->d_reclen; +#else + return _DIRENT_RECLEN(de->d_namlen); +#endif +} + /*********************************************************************** * read_directory_getdirentries * @@ -1754,9 +1763,9 @@ static int read_directory_getdirentries( int fd, IO_STATUS_BLOCK *io, void *buff /* check if we got . and .. from getdirentries */ if (res > 0) { - if (!strcmp( de->d_name, "." ) && res > de->d_reclen) + if (!strcmp( de->d_name, "." ) && res > dir_reclen(de)) { - struct dirent *next_de = (struct dirent *)(data + de->d_reclen); + struct dirent *next_de = (struct dirent *)(data + dir_reclen(de)); if (!strcmp( next_de->d_name, ".." )) fake_dot_dot = 0; } } @@ -1792,7 +1801,7 @@ static int read_directory_getdirentries( int fd, IO_STATUS_BLOCK *io, void *buff while (res > 0) { - res -= de->d_reclen; + res -= dir_reclen(de); if (de->d_fileno && !(fake_dot_dot && (!strcmp( de->d_name, "." ) || !strcmp( de->d_name, ".." ))) && ((info = append_entry( buffer, io, length, de->d_name, NULL, mask, class )))) @@ -1819,7 +1828,7 @@ static int read_directory_getdirentries( int fd, IO_STATUS_BLOCK *io, void *buff if (res > 0 && (single_entry || io->Information + max_dir_info_size(class) > length)) { lseek( fd, (unsigned long)restart_pos, SEEK_SET ); - size = (char *)de + de->d_reclen - data; + size = (char *)de + dir_reclen(de) - data; io->Information = restart_info_pos; last_info = restart_last_info; goto restart; @@ -1828,7 +1837,7 @@ static int read_directory_getdirentries( int fd, IO_STATUS_BLOCK *io, void *buff /* move on to the next entry */ if (res > 0) { - de = (struct dirent *)((char *)de + de->d_reclen); + de = (struct dirent *)((char *)de + dir_reclen(de)); continue; } if (size < initial_size) break; /* already restarted once, give up now */ diff --git a/include/config.h.in b/include/config.h.in index c4b67a0..7d6e261 100644 --- a/include/config.h.in +++ b/include/config.h.in @@ -785,6 +785,9 @@ /* Define to 1 if you have the `strtoull' function. */ #undef HAVE_STRTOULL +/* Define to 1 if `d_reclen' is a member of `struct dirent'. */ +#undef HAVE_STRUCT_DIRENT_D_RECLEN + /* Define to 1 if `direction' is a member of `struct ff_effect'. */ #undef HAVE_STRUCT_FF_EFFECT_DIRECTION
1
0
0
0
André Hentschel : iphlpapi: Check for the right TCP statistics structure name (for DragonFly BSD).
by Alexandre Julliard
04 Jun '12
04 Jun '12
Module: wine Branch: master Commit: eaab7a88f4e52b3630a21db183cea2a0d21e6fa5 URL:
http://source.winehq.org/git/wine.git/?a=commit;h=eaab7a88f4e52b3630a21db18…
Author: André Hentschel <nerv(a)dawncrow.de> Date: Sun Jun 3 14:32:20 2012 +0200 iphlpapi: Check for the right TCP statistics structure name (for DragonFly BSD). --- configure | 28 ++++++++++++++++++++++++++++ configure.ac | 12 ++++++++++++ dlls/iphlpapi/ipstats.c | 6 +++++- include/config.h.in | 6 ++++++ 4 files changed, 51 insertions(+), 1 deletions(-) diff --git a/configure b/configure index 0add636..e8201d3 100755 --- a/configure +++ b/configure @@ -14086,6 +14086,34 @@ _ACEOF fi +ac_fn_c_check_member "$LINENO" "struct tcpstat" "tcps_connattempt" "ac_cv_member_struct_tcpstat_tcps_connattempt" "#ifdef HAVE_NETINET_TCP_VAR_H +#include <netinet/tcp_var.h> +#endif +" +if test "x$ac_cv_member_struct_tcpstat_tcps_connattempt" = xyes; then : + +cat >>confdefs.h <<_ACEOF +#define HAVE_STRUCT_TCPSTAT_TCPS_CONNATTEMPT 1 +_ACEOF + + +fi + + +ac_fn_c_check_member "$LINENO" "struct tcp_stats" "tcps_connattempt" "ac_cv_member_struct_tcp_stats_tcps_connattempt" "#ifdef HAVE_NETINET_TCP_VAR_H +#include <netinet/tcp_var.h> +#endif +" +if test "x$ac_cv_member_struct_tcp_stats_tcps_connattempt" = xyes; then : + +cat >>confdefs.h <<_ACEOF +#define HAVE_STRUCT_TCP_STATS_TCPS_CONNATTEMPT 1 +_ACEOF + + +fi + + ac_fn_c_check_member "$LINENO" "struct ifreq" "ifr_hwaddr" "ac_cv_member_struct_ifreq_ifr_hwaddr" "#ifdef HAVE_SYS_TYPES_H #include <sys/types.h> #endif diff --git a/configure.ac b/configure.ac index d085459..d1acb72 100644 --- a/configure.ac +++ b/configure.ac @@ -2324,6 +2324,18 @@ AC_CHECK_MEMBERS([struct ip_stats.ips_total],,, #include <netinet/ip_var.h> #endif]) +dnl Check for struct tcpstat +AC_CHECK_MEMBERS([struct tcpstat.tcps_connattempt],,, +[#ifdef HAVE_NETINET_TCP_VAR_H +#include <netinet/tcp_var.h> +#endif]) + +dnl Check for struct tcp_stats +AC_CHECK_MEMBERS([struct tcp_stats.tcps_connattempt],,, +[#ifdef HAVE_NETINET_TCP_VAR_H +#include <netinet/tcp_var.h> +#endif]) + dnl Check for struct ifreq.ifr_hwaddr AC_CHECK_MEMBERS([struct ifreq.ifr_hwaddr],,, [#ifdef HAVE_SYS_TYPES_H diff --git a/dlls/iphlpapi/ipstats.c b/dlls/iphlpapi/ipstats.c index 9b4b76b..41cb779 100644 --- a/dlls/iphlpapi/ipstats.c +++ b/dlls/iphlpapi/ipstats.c @@ -812,7 +812,7 @@ DWORD WINAPI GetTcpStatistics(PMIB_TCPSTATS stats) } if (kc) kstat_close( kc ); } -#elif defined(HAVE_SYS_SYSCTL_H) && defined(UDPCTL_STATS) +#elif defined(HAVE_SYS_SYSCTL_H) && defined(TCPCTL_STATS) && (HAVE_STRUCT_TCPSTAT_TCPS_CONNATTEMPT || HAVE_STRUCT_TCP_STATS_TCPS_CONNATTEMPT) { #ifndef TCPTV_MIN /* got removed in Mac OS X for some reason */ #define TCPTV_MIN 2 @@ -821,7 +821,11 @@ DWORD WINAPI GetTcpStatistics(PMIB_TCPSTATS stats) int mib[] = {CTL_NET, PF_INET, IPPROTO_TCP, TCPCTL_STATS}; #define MIB_LEN (sizeof(mib) / sizeof(mib[0])) #define hz 1000 +#if HAVE_STRUCT_TCPSTAT_TCPS_CONNATTEMPT struct tcpstat tcp_stat; +#elif HAVE_STRUCT_TCP_STATS_TCPS_CONNATTEMPT + struct tcp_stats tcp_stat; +#endif size_t needed = sizeof(tcp_stat); if(sysctl(mib, MIB_LEN, &tcp_stat, &needed, NULL, 0) != -1) diff --git a/include/config.h.in b/include/config.h.in index bdcb199..c4b67a0 100644 --- a/include/config.h.in +++ b/include/config.h.in @@ -857,6 +857,12 @@ /* Define to 1 if `st_mtim' is a member of `struct stat'. */ #undef HAVE_STRUCT_STAT_ST_MTIM +/* Define to 1 if `tcps_connattempt' is a member of `struct tcpstat'. */ +#undef HAVE_STRUCT_TCPSTAT_TCPS_CONNATTEMPT + +/* Define to 1 if `tcps_connattempt' is a member of `struct tcp_stats'. */ +#undef HAVE_STRUCT_TCP_STATS_TCPS_CONNATTEMPT + /* Define to 1 if the system has the type `struct xinpgen'. */ #undef HAVE_STRUCT_XINPGEN
1
0
0
0
André Hentschel : iphlpapi: Check for the right IP statistics structure name (for DragonFly BSD).
by Alexandre Julliard
04 Jun '12
04 Jun '12
Module: wine Branch: master Commit: cecf1056bb17f83586568c98d42ed687c1c41684 URL:
http://source.winehq.org/git/wine.git/?a=commit;h=cecf1056bb17f83586568c98d…
Author: André Hentschel <nerv(a)dawncrow.de> Date: Sat Jun 2 18:58:39 2012 +0200 iphlpapi: Check for the right IP statistics structure name (for DragonFly BSD). --- configure | 311 ++++++++++++++++++++++++++--------------------- configure.ac | 12 ++ dlls/iphlpapi/ipstats.c | 6 +- include/config.h.in | 11 ++ 4 files changed, 199 insertions(+), 141 deletions(-) Diff:
http://source.winehq.org/git/wine.git/?a=commitdiff;h=cecf1056bb17f83586568…
1
0
0
0
André Hentschel : iphlpapi: Fix check for icmpstat. icps_outhist.
by Alexandre Julliard
04 Jun '12
04 Jun '12
Module: wine Branch: master Commit: c74b1c21596b40586c2fcff3efc5e31ebc0a9a97 URL:
http://source.winehq.org/git/wine.git/?a=commit;h=c74b1c21596b40586c2fcff3e…
Author: André Hentschel <nerv(a)dawncrow.de> Date: Sat Jun 2 18:57:34 2012 +0200 iphlpapi: Fix check for icmpstat.icps_outhist. --- dlls/iphlpapi/ipstats.c | 4 ++-- 1 files changed, 2 insertions(+), 2 deletions(-) diff --git a/dlls/iphlpapi/ipstats.c b/dlls/iphlpapi/ipstats.c index f87e056..c204223 100644 --- a/dlls/iphlpapi/ipstats.c +++ b/dlls/iphlpapi/ipstats.c @@ -522,7 +522,7 @@ DWORD WINAPI GetIcmpStatistics(PMIB_ICMP stats) stats->stats.icmpInStats.dwAddrMasks = icmp_stat.icps_inhist[ICMP_MASKREQ]; stats->stats.icmpInStats.dwAddrMaskReps = icmp_stat.icps_inhist[ICMP_MASKREPLY]; -#ifdef HAVE_ICPS_OUTHIST +#ifdef HAVE_STRUCT_ICMPSTAT_ICPS_OUTHIST /* out stats */ stats->stats.icmpOutStats.dwMsgs = icmp_stat.icps_oldshort + icmp_stat.icps_oldicmp; for(i = 0; i <= ICMP_MAXTYPE; i++) @@ -541,7 +541,7 @@ DWORD WINAPI GetIcmpStatistics(PMIB_ICMP stats) stats->stats.icmpOutStats.dwTimestampReps = icmp_stat.icps_outhist[ICMP_TSTAMPREPLY]; stats->stats.icmpOutStats.dwAddrMasks = icmp_stat.icps_outhist[ICMP_MASKREQ]; stats->stats.icmpOutStats.dwAddrMaskReps = icmp_stat.icps_outhist[ICMP_MASKREPLY]; -#endif /* ICPS_OUTHIST */ +#endif /* HAVE_STRUCT_ICMPSTAT_ICPS_OUTHIST */ ret = NO_ERROR; } }
1
0
0
0
Alexandre Julliard : winex11: Don' t free a variable that is no longer allocated on the heap.
by Alexandre Julliard
04 Jun '12
04 Jun '12
Module: wine Branch: master Commit: 1adbfe921bfc5f0a011bf3f0007ffbb9e67f9379 URL:
http://source.winehq.org/git/wine.git/?a=commit;h=1adbfe921bfc5f0a011bf3f00…
Author: Alexandre Julliard <julliard(a)winehq.org> Date: Mon Jun 4 11:00:10 2012 +0200 winex11: Don't free a variable that is no longer allocated on the heap. --- dlls/winex11.drv/window.c | 1 - 1 files changed, 0 insertions(+), 1 deletions(-) diff --git a/dlls/winex11.drv/window.c b/dlls/winex11.drv/window.c index 720a49c..29317aa 100644 --- a/dlls/winex11.drv/window.c +++ b/dlls/winex11.drv/window.c @@ -847,7 +847,6 @@ static unsigned long *get_bitmap_argb( HDC hdc, HBITMAP color, HBITMAP mask, uns if (!((mask_bits[i * width_bytes + j / 8] << (j % 8)) & 0x80)) *ptr |= 0xff000000; HeapFree( GetProcessHeap(), 0, mask_bits ); } - HeapFree( GetProcessHeap(), 0, info ); /* convert to array of longs */ if (bits && sizeof(long) > sizeof(int))
1
0
0
0
Damjan Jovanovic : libwine: Improve bin directory detection on FreeBSD.
by Alexandre Julliard
04 Jun '12
04 Jun '12
Module: wine Branch: master Commit: c296d1fbe1b551c7cf7c159a03c9198592dbae73 URL:
http://source.winehq.org/git/wine.git/?a=commit;h=c296d1fbe1b551c7cf7c159a0…
Author: Damjan Jovanovic <damjan.jov(a)gmail.com> Date: Sun Jun 3 12:26:30 2012 +0200 libwine: Improve bin directory detection on FreeBSD. --- libs/wine/config.c | 10 ++++++++-- 1 files changed, 8 insertions(+), 2 deletions(-) diff --git a/libs/wine/config.c b/libs/wine/config.c index 035c268..031850b 100644 --- a/libs/wine/config.c +++ b/libs/wine/config.c @@ -53,6 +53,12 @@ static void fatal_error( const char *err, ... ) __attribute__((noreturn,format( static void fatal_perror( const char *err, ... ) __attribute__((noreturn,format(printf,1,2))); #endif +#ifdef __linux__ +#define EXE_LINK "/proc/self/exe" +#elif defined (__FreeBSD__) +#define EXE_LINK "/proc/curproc/file" +#endif + /* die on a fatal error */ static void fatal_error( const char *err, ... ) { @@ -151,12 +157,12 @@ static char *get_runtime_bindir( const char *argv0 ) char *p, *bindir, *cwd; int len, size; -#ifdef linux +#ifdef EXE_LINK for (size = 256; ; size *= 2) { int ret; if (!(bindir = malloc( size ))) break; - if ((ret = readlink( "/proc/self/exe", bindir, size )) == -1) break; + if ((ret = readlink( EXE_LINK, bindir, size )) == -1) break; if (ret != size) { if (!(p = memrchr( bindir, '/', ret ))) break;
1
0
0
0
← Newer
1
...
76
77
78
79
80
81
82
83
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
Results per page:
10
25
50
100
200