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
August 2021
----- 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
1 participants
1051 discussions
Start a n
N
ew thread
Nikolay Sivov : msxml3: Do not depend on libxml2 for XMLHTTP object.
by Alexandre Julliard
17 Aug '21
17 Aug '21
Module: wine Branch: master Commit: 6d09e450154df3d6e17f76d0f431a8087e545e79 URL:
https://source.winehq.org/git/wine.git/?a=commit;h=6d09e450154df3d6e17f76d0…
Author: Nikolay Sivov <nsivov(a)codeweavers.com> Date: Tue Aug 17 16:18:53 2021 +0300 msxml3: Do not depend on libxml2 for XMLHTTP object. Signed-off-by: Nikolay Sivov <nsivov(a)codeweavers.com> Signed-off-by: Alexandre Julliard <julliard(a)winehq.org> --- dlls/msxml3/domdoc.c | 4 ++-- dlls/msxml3/factory.c | 4 ++-- dlls/msxml3/httprequest.c | 32 +++----------------------------- dlls/msxml3/msxml_dispex.h | 3 +++ dlls/msxml3/msxml_private.h | 2 -- dlls/msxml3/schema.c | 4 ++-- dlls/msxml3/stylesheet.c | 2 +- dlls/msxml3/xmlview.c | 4 ++-- 8 files changed, 15 insertions(+), 40 deletions(-) diff --git a/dlls/msxml3/domdoc.c b/dlls/msxml3/domdoc.c index 61fbbf9f20b..10892d40757 100644 --- a/dlls/msxml3/domdoc.c +++ b/dlls/msxml3/domdoc.c @@ -3801,7 +3801,7 @@ HRESULT get_domdoc_from_xmldoc(xmlDocPtr xmldoc, IXMLDOMDocument3 **document) return S_OK; } -HRESULT DOMDocument_create(MSXML_VERSION version, void **ppObj) +HRESULT dom_document_create(MSXML_VERSION version, void **ppObj) { xmlDocPtr xmldoc; HRESULT hr; @@ -3842,7 +3842,7 @@ IUnknown* create_domdoc( xmlNodePtr document ) #else -HRESULT DOMDocument_create(MSXML_VERSION version, void **ppObj) +HRESULT dom_document_create(MSXML_VERSION version, void **ppObj) { MESSAGE("This program tried to use a DOMDocument object, but\n" "libxml2 support was not present at compile time.\n"); diff --git a/dlls/msxml3/factory.c b/dlls/msxml3/factory.c index 445cfbf730d..197f72cd13f 100644 --- a/dlls/msxml3/factory.c +++ b/dlls/msxml3/factory.c @@ -302,7 +302,7 @@ HRESULT WINAPI DllGetClassObject( REFCLSID rclsid, REFIID riid, void **ppv ) IsEqualCLSID( rclsid, &CLSID_DOMDocument40 )|| /* Version dep. v 4.0 */ IsEqualCLSID( rclsid, &CLSID_DOMDocument60 )) /* Version dep. v 6.0 */ { - return DOMClassFactory_Create(rclsid, riid, ppv, DOMDocument_create); + return DOMClassFactory_Create(rclsid, riid, ppv, dom_document_create); } else if( IsEqualCLSID( rclsid, &CLSID_XMLSchemaCache ) || IsEqualCLSID( rclsid, &CLSID_XMLSchemaCache26 ) || @@ -323,7 +323,7 @@ HRESULT WINAPI DllGetClassObject( REFCLSID rclsid, REFIID riid, void **ppv ) IsEqualCLSID( rclsid, &CLSID_FreeThreadedDOMDocument40 ) || IsEqualCLSID( rclsid, &CLSID_FreeThreadedDOMDocument60 )) { - return DOMClassFactory_Create(rclsid, riid, ppv, DOMDocument_create); + return DOMClassFactory_Create(rclsid, riid, ppv, dom_document_create); } else if( IsEqualCLSID( rclsid, &CLSID_SAXXMLReader) || IsEqualCLSID( rclsid, &CLSID_SAXXMLReader30 ) || diff --git a/dlls/msxml3/httprequest.c b/dlls/msxml3/httprequest.c index 20ec389739e..15a1f888ebd 100644 --- a/dlls/msxml3/httprequest.c +++ b/dlls/msxml3/httprequest.c @@ -22,14 +22,7 @@ #define COBJMACROS #define NONAMELESSUNION -#include "config.h" - #include <stdarg.h> -#ifdef HAVE_LIBXML2 -# include <libxml/parser.h> -# include <libxml/xmlerror.h> -# include <libxml/encoding.h> -#endif #include "windef.h" #include "winbase.h" @@ -44,11 +37,10 @@ #include "docobj.h" #include "shlwapi.h" -#include "msxml_private.h" +#include "msxml_dispex.h" #include "wine/debug.h" - -#ifdef HAVE_LIBXML2 +#include "wine/unicode.h" WINE_DEFAULT_DEBUG_CHANNEL(msxml); @@ -1238,7 +1230,7 @@ static HRESULT httprequest_get_responseXML(httprequest *This, IDispatch **body) if (!body) return E_INVALIDARG; if (This->state != READYSTATE_COMPLETE) return E_FAIL; - hr = DOMDocument_create(MSXML_DEFAULT, (void**)&doc); + hr = dom_document_create(MSXML_DEFAULT, (void**)&doc); if (hr != S_OK) return hr; hr = httprequest_get_responseText(This, &str); @@ -2151,21 +2143,3 @@ HRESULT ServerXMLHTTP_create(void **obj) return S_OK; } - -#else - -HRESULT XMLHTTPRequest_create(void **ppObj) -{ - MESSAGE("This program tried to use a XMLHTTPRequest object, but\n" - "libxml2 support was not present at compile time.\n"); - return E_NOTIMPL; -} - -HRESULT ServerXMLHTTP_create(void **obj) -{ - MESSAGE("This program tried to use a ServerXMLHTTP object, but\n" - "libxml2 support was not present at compile time.\n"); - return E_NOTIMPL; -} - -#endif diff --git a/dlls/msxml3/msxml_dispex.h b/dlls/msxml3/msxml_dispex.h index ec3860c2754..2f9c53144ef 100644 --- a/dlls/msxml3/msxml_dispex.h +++ b/dlls/msxml3/msxml_dispex.h @@ -144,4 +144,7 @@ static inline HRESULT return_bstrn(const WCHAR *value, int len, BSTR *p) return S_OK; } +extern HRESULT dom_document_create(MSXML_VERSION class_version, void **document) DECLSPEC_HIDDEN; +IUri *get_base_uri(IUnknown *site) DECLSPEC_HIDDEN; + #endif /* __MSXML_DISPEX__ */ diff --git a/dlls/msxml3/msxml_private.h b/dlls/msxml3/msxml_private.h index 43c6de6454e..12ef1dcedf8 100644 --- a/dlls/msxml3/msxml_private.h +++ b/dlls/msxml3/msxml_private.h @@ -385,7 +385,6 @@ static inline HRESULT return_var_false(VARIANT_BOOL *p) extern IXMLDOMParseError *create_parseError( LONG code, BSTR url, BSTR reason, BSTR srcText, LONG line, LONG linepos, LONG filepos ) DECLSPEC_HIDDEN; -extern HRESULT DOMDocument_create(MSXML_VERSION, void**) DECLSPEC_HIDDEN; extern HRESULT SchemaCache_create(MSXML_VERSION, void**) DECLSPEC_HIDDEN; extern HRESULT XMLDocument_create(void**) DECLSPEC_HIDDEN; extern HRESULT SAXXMLReader_create(MSXML_VERSION, void**) DECLSPEC_HIDDEN; @@ -404,7 +403,6 @@ HRESULT create_moniker_from_url(LPCWSTR, IMoniker**) DECLSPEC_HIDDEN; HRESULT create_uri(IUri *base, const WCHAR *, IUri **) DECLSPEC_HIDDEN; HRESULT bind_url(IMoniker*, HRESULT (*onDataAvailable)(void*,char*,DWORD), void*, bsc_t**) DECLSPEC_HIDDEN; HRESULT detach_bsc(bsc_t*) DECLSPEC_HIDDEN; -IUri *get_base_uri(IUnknown *) DECLSPEC_HIDDEN; /* Error Codes - not defined anywhere in the public headers */ #define E_XML_ELEMENT_UNDECLARED 0xC00CE00D diff --git a/dlls/msxml3/schema.c b/dlls/msxml3/schema.c index e385b9b5635..26e54c8728c 100644 --- a/dlls/msxml3/schema.c +++ b/dlls/msxml3/schema.c @@ -942,7 +942,7 @@ static cache_entry* cache_entry_from_url(VARIANT url, xmlChar const* nsURI, MSXM cache_entry* entry; IXMLDOMDocument3* domdoc = NULL; xmlDocPtr doc = NULL; - HRESULT hr = DOMDocument_create(version, (void**)&domdoc); + HRESULT hr = dom_document_create(version, (void **)&domdoc); VARIANT_BOOL b = VARIANT_FALSE; CacheEntryType type = CacheEntryType_Invalid; @@ -1266,7 +1266,7 @@ static HRESULT WINAPI schema_cache_add(IXMLDOMSchemaCollection2* iface, BSTR uri BSTR xml; IXMLDOMNode_get_xml(domnode, &xml); - DOMDocument_create(This->version, (void**)&domdoc); + dom_document_create(This->version, (void **)&domdoc); IXMLDOMDocument_loadXML(domdoc, xml, &b); SysFreeString(xml); doc = xmlNodePtr_from_domnode((IXMLDOMNode*)domdoc, XML_DOCUMENT_NODE)->doc; diff --git a/dlls/msxml3/stylesheet.c b/dlls/msxml3/stylesheet.c index 9863ed7aa4b..3ff3aa0146e 100644 --- a/dlls/msxml3/stylesheet.c +++ b/dlls/msxml3/stylesheet.c @@ -404,7 +404,7 @@ static HRESULT WINAPI xslprocessor_put_input( IXSLProcessor *iface, VARIANT inpu { IXMLDOMDocument *doc; - hr = DOMDocument_create(MSXML_DEFAULT, (void**)&doc); + hr = dom_document_create(MSXML_DEFAULT, (void **)&doc); if (hr == S_OK) { VARIANT_BOOL b; diff --git a/dlls/msxml3/xmlview.c b/dlls/msxml3/xmlview.c index f1299ef957e..d7bc77b10f3 100644 --- a/dlls/msxml3/xmlview.c +++ b/dlls/msxml3/xmlview.c @@ -399,7 +399,7 @@ static inline HRESULT handle_xml_load(BindStatusCallback *This) if(FAILED(hres)) return display_error_page(This); - hres = DOMDocument_create(MSXML_DEFAULT, (void**)&xml); + hres = dom_document_create(MSXML_DEFAULT, (void **)&xml); if(FAILED(hres)) return display_error_page(This); @@ -475,7 +475,7 @@ static inline HRESULT handle_xml_load(BindStatusCallback *This) return display_error_page(This); } - hres = DOMDocument_create(MSXML_DEFAULT, (void**)&xsl); + hres = dom_document_create(MSXML_DEFAULT, (void **)&xsl); if(FAILED(hres)) { VariantClear(&var); IXMLDOMDocument3_Release(xml);
1
0
0
0
Francois Gouget : kernel32/tests: Don't skip the sorting tests on Windows.
by Alexandre Julliard
17 Aug '21
17 Aug '21
Module: wine Branch: master Commit: 01d513da8f2339e9f28483e3c010b07de441cef6 URL:
https://source.winehq.org/git/wine.git/?a=commit;h=01d513da8f2339e9f28483e3…
Author: Francois Gouget <fgouget(a)codeweavers.com> Date: Tue Aug 17 17:32:50 2021 +0200 kernel32/tests: Don't skip the sorting tests on Windows. Only skip them in Wine since it's missing a compatible collation table. Signed-off-by: Francois Gouget <fgouget(a)codeweavers.com> Signed-off-by: Alexandre Julliard <julliard(a)winehq.org> --- dlls/kernel32/tests/locale.c | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/dlls/kernel32/tests/locale.c b/dlls/kernel32/tests/locale.c index 75c86bbaf21..c65c2cce3f2 100644 --- a/dlls/kernel32/tests/locale.c +++ b/dlls/kernel32/tests/locale.c @@ -3093,6 +3093,13 @@ static void test_sorting(void) assert(sizeof(buf) >= sizeof(strings)); + /* this requires the collation table patch to make it MS compatible */ + if (strcmp(winetest_platform, "wine") == 0) + { + skip("in Wine due to the lack of a compatible collation table\n"); + return; + } + /* 1. sort using lstrcmpA */ memcpy(buf, strings, sizeof(strings)); qsort(buf, ARRAY_SIZE(strings), sizeof(strings[0]), compare_string1); @@ -7183,6 +7190,5 @@ START_TEST(locale) test_SpecialCasing(); test_NLSVersion(); test_geo_name(); - /* this requires collation table patch to make it MS compatible */ - if (0) test_sorting(); + test_sorting(); }
1
0
0
0
Jacek Caban : conhost: Use message window to return a window for windowless consoles.
by Alexandre Julliard
17 Aug '21
17 Aug '21
Module: wine Branch: master Commit: da86e50e2936789c9e9a963d67e1207504c16784 URL:
https://source.winehq.org/git/wine.git/?a=commit;h=da86e50e2936789c9e9a963d…
Author: Jacek Caban <jacek(a)codeweavers.com> Date: Tue Aug 17 12:29:23 2021 +0200 conhost: Use message window to return a window for windowless consoles. Wine-Bug:
https://bugs.winehq.org/show_bug.cgi?id=38640
Signed-off-by: Jacek Caban <jacek(a)codeweavers.com> Signed-off-by: Alexandre Julliard <julliard(a)winehq.org> --- dlls/kernel32/tests/console.c | 4 +++ programs/conhost/conhost.c | 7 ++--- programs/conhost/conhost.h | 1 + programs/conhost/window.c | 71 +++++++++++++++++++++++++++++++------------ 4 files changed, 60 insertions(+), 23 deletions(-) Diff:
https://source.winehq.org/git/wine.git/?a=commitdiff;h=da86e50e2936789c9e9a…
1
0
0
0
Jacek Caban : conhost: Use dedicated ioctl for GetConsoleWindow.
by Alexandre Julliard
17 Aug '21
17 Aug '21
Module: wine Branch: master Commit: 365e99c022b96b903b615b66f54592e6121dcac7 URL:
https://source.winehq.org/git/wine.git/?a=commit;h=365e99c022b96b903b615b66…
Author: Jacek Caban <jacek(a)codeweavers.com> Date: Tue Aug 17 12:29:09 2021 +0200 conhost: Use dedicated ioctl for GetConsoleWindow. Signed-off-by: Jacek Caban <jacek(a)codeweavers.com> Signed-off-by: Alexandre Julliard <julliard(a)winehq.org> --- dlls/kernel32/console.c | 6 +++--- include/wine/condrv.h | 2 +- programs/conhost/conhost.c | 11 ++++++++++- 3 files changed, 14 insertions(+), 5 deletions(-) diff --git a/dlls/kernel32/console.c b/dlls/kernel32/console.c index 8c61d28e8c6..6f12ddfe7b2 100644 --- a/dlls/kernel32/console.c +++ b/dlls/kernel32/console.c @@ -54,12 +54,12 @@ WINE_DEFAULT_DEBUG_CHANNEL(console); */ HWND WINAPI GetConsoleWindow(void) { - struct condrv_input_info info; + condrv_handle_t win; BOOL ret; ret = DeviceIoControl( RtlGetCurrentPeb()->ProcessParameters->ConsoleHandle, - IOCTL_CONDRV_GET_INPUT_INFO, NULL, 0, &info, sizeof(info), NULL, NULL ); - return ret ? LongToHandle( info.win ) : NULL; + IOCTL_CONDRV_GET_WINDOW, NULL, 0, &win, sizeof(win), NULL, NULL ); + return ret ? LongToHandle( win ) : NULL; } diff --git a/include/wine/condrv.h b/include/wine/condrv.h index add08be20c8..4d2332a1ee9 100644 --- a/include/wine/condrv.h +++ b/include/wine/condrv.h @@ -42,6 +42,7 @@ #define IOCTL_CONDRV_CTRL_EVENT CTL_CODE(FILE_DEVICE_CONSOLE, 19, METHOD_BUFFERED, FILE_ANY_ACCESS) #define IOCTL_CONDRV_BEEP CTL_CODE(FILE_DEVICE_CONSOLE, 20, METHOD_BUFFERED, FILE_ANY_ACCESS) #define IOCTL_CONDRV_FLUSH CTL_CODE(FILE_DEVICE_CONSOLE, 21, METHOD_BUFFERED, FILE_ANY_ACCESS) +#define IOCTL_CONDRV_GET_WINDOW CTL_CODE(FILE_DEVICE_CONSOLE, 22, METHOD_BUFFERED, FILE_ANY_ACCESS) /* console output ioctls */ #define IOCTL_CONDRV_WRITE_CONSOLE CTL_CODE(FILE_DEVICE_CONSOLE, 30, METHOD_BUFFERED, FILE_WRITE_ACCESS) @@ -87,7 +88,6 @@ struct condrv_input_info unsigned int input_cp; /* console input codepage */ unsigned int output_cp; /* console output codepage */ unsigned int input_count; /* number of available input records */ - condrv_handle_t win; /* renderer window handle */ }; /* IOCTL_CONDRV_SET_INPUT_INFO params */ diff --git a/programs/conhost/conhost.c b/programs/conhost/conhost.c index ecfdd082a81..eeca9e62a3f 100644 --- a/programs/conhost/conhost.c +++ b/programs/conhost/conhost.c @@ -2519,11 +2519,20 @@ static NTSTATUS console_input_ioctl( struct console *console, unsigned int code, if (!(info = alloc_ioctl_buffer( sizeof(*info )))) return STATUS_NO_MEMORY; info->input_cp = console->input_cp; info->output_cp = console->output_cp; - info->win = condrv_handle( console->win ); info->input_count = console->record_count; return STATUS_SUCCESS; } + case IOCTL_CONDRV_GET_WINDOW: + { + condrv_handle_t *result; + TRACE( "get window\n" ); + if (in_size || *out_size != sizeof(*result)) return STATUS_INVALID_PARAMETER; + if (!(result = alloc_ioctl_buffer( sizeof(*result )))) return STATUS_NO_MEMORY; + *result = condrv_handle( console->win ); + return STATUS_SUCCESS; + } + case IOCTL_CONDRV_SET_INPUT_INFO: { const struct condrv_input_info_params *params = in_data;
1
0
0
0
Jacek Caban : gdi32: Remove no longer used driver entry points.
by Alexandre Julliard
17 Aug '21
17 Aug '21
Module: wine Branch: master Commit: 3057388ff877dcf6ea18fc2355f496927bbe17e3 URL:
https://source.winehq.org/git/wine.git/?a=commit;h=3057388ff877dcf6ea18fc23…
Author: Jacek Caban <jacek(a)codeweavers.com> Date: Tue Aug 17 11:39:56 2021 +0200 gdi32: Remove no longer used driver entry points. Signed-off-by: Jacek Caban <jacek(a)codeweavers.com> Signed-off-by: Huw Davies <huw(a)codeweavers.com> Signed-off-by: Alexandre Julliard <julliard(a)winehq.org> --- dlls/gdi32/dc.c | 9 --------- dlls/gdi32/dibdrv/dc.c | 4 ---- dlls/gdi32/driver.c | 7 ------- dlls/gdi32/enhmfdrv/init.c | 2 -- dlls/gdi32/font.c | 2 -- dlls/gdi32/ntgdi_private.h | 1 - dlls/gdi32/path.c | 2 -- dlls/wineandroid.drv/init.c | 2 -- dlls/winemac.drv/gdi.c | 2 -- dlls/wineps.drv/init.c | 2 -- dlls/winex11.drv/init.c | 2 -- dlls/winex11.drv/xrender.c | 2 -- include/wine/gdi_driver.h | 4 +--- 13 files changed, 1 insertion(+), 40 deletions(-) Diff:
https://source.winehq.org/git/wine.git/?a=commitdiff;h=3057388ff877dcf6ea18…
1
0
0
0
Jacek Caban : gdi32: Directly handle EMFs in GdiComment.
by Alexandre Julliard
17 Aug '21
17 Aug '21
Module: wine Branch: master Commit: 2ef5b9720f9867371a5dcc6069d819cc93e3929d URL:
https://source.winehq.org/git/wine.git/?a=commit;h=2ef5b9720f9867371a5dcc60…
Author: Jacek Caban <jacek(a)codeweavers.com> Date: Tue Aug 17 11:39:46 2021 +0200 gdi32: Directly handle EMFs in GdiComment. Signed-off-by: Jacek Caban <jacek(a)codeweavers.com> Signed-off-by: Huw Davies <huw(a)codeweavers.com> Signed-off-by: Alexandre Julliard <julliard(a)winehq.org> --- dlls/gdi32/enhmfdrv/enhmetafiledrv.h | 1 - dlls/gdi32/enhmfdrv/init.c | 2 +- dlls/gdi32/enhmfdrv/objects.c | 11 +++++++---- dlls/gdi32/gdiobj.c | 19 ------------------- 4 files changed, 8 insertions(+), 25 deletions(-) diff --git a/dlls/gdi32/enhmfdrv/enhmetafiledrv.h b/dlls/gdi32/enhmfdrv/enhmetafiledrv.h index 3e24af9f0da..fb108c15be5 100644 --- a/dlls/gdi32/enhmfdrv/enhmetafiledrv.h +++ b/dlls/gdi32/enhmfdrv/enhmetafiledrv.h @@ -73,7 +73,6 @@ extern BOOL CDECL EMFDRV_FillPath( PHYSDEV dev ) DECLSPEC_HIDDEN; extern BOOL CDECL EMFDRV_FillRgn( PHYSDEV dev, HRGN hrgn, HBRUSH hbrush ) DECLSPEC_HIDDEN; extern BOOL CDECL EMFDRV_FlattenPath( PHYSDEV dev ) DECLSPEC_HIDDEN; extern BOOL CDECL EMFDRV_FrameRgn( PHYSDEV dev, HRGN hrgn, HBRUSH hbrush, INT width, INT height ) DECLSPEC_HIDDEN; -extern BOOL CDECL EMFDRV_GdiComment( PHYSDEV dev, UINT bytes, const BYTE *buffer ) DECLSPEC_HIDDEN; extern INT CDECL EMFDRV_GetDeviceCaps( PHYSDEV dev, INT cap ) DECLSPEC_HIDDEN; extern BOOL CDECL EMFDRV_GradientFill( PHYSDEV dev, TRIVERTEX *vert_array, ULONG nvert, void *grad_array, ULONG ngrad, ULONG mode ) DECLSPEC_HIDDEN; diff --git a/dlls/gdi32/enhmfdrv/init.c b/dlls/gdi32/enhmfdrv/init.c index bdae8005e90..4bd9d831a53 100644 --- a/dlls/gdi32/enhmfdrv/init.c +++ b/dlls/gdi32/enhmfdrv/init.c @@ -66,7 +66,7 @@ static const struct gdi_dc_funcs emfdrv_driver = EMFDRV_FlattenPath, /* pFlattenPath */ NULL, /* pFontIsLinked */ EMFDRV_FrameRgn, /* pFrameRgn */ - EMFDRV_GdiComment, /* pGdiComment */ + NULL, /* pGdiComment */ NULL, /* pGetBoundsRect */ NULL, /* pGetCharABCWidths */ NULL, /* pGetCharABCWidthsI */ diff --git a/dlls/gdi32/enhmfdrv/objects.c b/dlls/gdi32/enhmfdrv/objects.c index 14632dc7b23..1e2cb52dc6a 100644 --- a/dlls/gdi32/enhmfdrv/objects.c +++ b/dlls/gdi32/enhmfdrv/objects.c @@ -510,15 +510,18 @@ COLORREF CDECL EMFDRV_SetDCPenColor( PHYSDEV dev, COLORREF color ) return EMFDRV_WriteRecord( dev, &emr.emr ) ? color : CLR_INVALID; } -/****************************************************************** - * EMFDRV_GdiComment +/******************************************************************* + * GdiComment (GDI32.@) */ -BOOL CDECL EMFDRV_GdiComment(PHYSDEV dev, UINT bytes, const BYTE *buffer) +BOOL WINAPI GdiComment( HDC hdc, UINT bytes, const BYTE *buffer ) { + DC_ATTR *dc_attr; EMRGDICOMMENT *emr; UINT total, rounded_size; BOOL ret; + if (!(dc_attr = get_dc_attr( hdc )) || !dc_attr->emf) return FALSE; + rounded_size = (bytes+3) & ~3; total = offsetof(EMRGDICOMMENT,Data) + rounded_size; @@ -529,7 +532,7 @@ BOOL CDECL EMFDRV_GdiComment(PHYSDEV dev, UINT bytes, const BYTE *buffer) memset(&emr->Data[bytes], 0, rounded_size - bytes); memcpy(&emr->Data[0], buffer, bytes); - ret = EMFDRV_WriteRecord( dev, &emr->emr ); + ret = EMFDRV_WriteRecord( dc_attr->emf, &emr->emr ); HeapFree(GetProcessHeap(), 0, emr); diff --git a/dlls/gdi32/gdiobj.c b/dlls/gdi32/gdiobj.c index 8435c009716..da428d149ce 100644 --- a/dlls/gdi32/gdiobj.c +++ b/dlls/gdi32/gdiobj.c @@ -1217,25 +1217,6 @@ BOOL WINAPI GetColorAdjustment(HDC hdc, LPCOLORADJUSTMENT lpca) return FALSE; } -/******************************************************************* - * GdiComment [GDI32.@] - * - * - */ -BOOL WINAPI GdiComment(HDC hdc, UINT cbSize, const BYTE *lpData) -{ - DC *dc = get_dc_ptr(hdc); - BOOL ret = FALSE; - - if(dc) - { - PHYSDEV physdev = GET_DC_PHYSDEV( dc, pGdiComment ); - ret = physdev->funcs->pGdiComment( physdev, cbSize, lpData ); - release_dc_ptr( dc ); - } - return ret; -} - /******************************************************************* * SetColorAdjustment [GDI32.@] *
1
0
0
0
Jacek Caban : gdi32: Use NtGdiCreateClientObj for CreateMetaFile.
by Alexandre Julliard
17 Aug '21
17 Aug '21
Module: wine Branch: master Commit: 6167fd3290cdbf9f8c1aa93e4697e09fa15e4681 URL:
https://source.winehq.org/git/wine.git/?a=commit;h=6167fd3290cdbf9f8c1aa93e…
Author: Jacek Caban <jacek(a)codeweavers.com> Date: Tue Aug 17 11:39:33 2021 +0200 gdi32: Use NtGdiCreateClientObj for CreateMetaFile. Instead of alloc_dc_ptr. Metafile DCs are not real DCs. Signed-off-by: Jacek Caban <jacek(a)codeweavers.com> Signed-off-by: Huw Davies <huw(a)codeweavers.com> Signed-off-by: Alexandre Julliard <julliard(a)winehq.org> --- dlls/gdi32/dc.c | 3 +- dlls/gdi32/gdi_private.h | 1 + dlls/gdi32/mfdrv/dc.c | 60 ------- dlls/gdi32/mfdrv/graphics.c | 39 ----- dlls/gdi32/mfdrv/init.c | 347 ++++++++++------------------------------- dlls/gdi32/mfdrv/metafiledrv.h | 23 +-- dlls/gdi32/objects.c | 2 + dlls/gdi32/tests/metafile.c | 2 - 8 files changed, 88 insertions(+), 389 deletions(-) Diff:
https://source.winehq.org/git/wine.git/?a=commitdiff;h=6167fd3290cdbf9f8c1a…
1
0
0
0
Jacek Caban : gdi32: Remove no longer needed metafile helpers.
by Alexandre Julliard
17 Aug '21
17 Aug '21
Module: wine Branch: master Commit: 728f96bf8ac8fc44fa234a65c5e0b0122c8840b9 URL:
https://source.winehq.org/git/wine.git/?a=commit;h=728f96bf8ac8fc44fa234a65…
Author: Jacek Caban <jacek(a)codeweavers.com> Date: Tue Aug 17 11:38:50 2021 +0200 gdi32: Remove no longer needed metafile helpers. Signed-off-by: Jacek Caban <jacek(a)codeweavers.com> Signed-off-by: Huw Davies <huw(a)codeweavers.com> Signed-off-by: Alexandre Julliard <julliard(a)winehq.org> --- dlls/gdi32/mfdrv/init.c | 236 ++++++++++++++---------------------------------- 1 file changed, 67 insertions(+), 169 deletions(-) diff --git a/dlls/gdi32/mfdrv/init.c b/dlls/gdi32/mfdrv/init.c index 345618ead08..356319f36eb 100644 --- a/dlls/gdi32/mfdrv/init.c +++ b/dlls/gdi32/mfdrv/init.c @@ -427,165 +427,34 @@ HMETAFILE WINAPI CloseMetaFile(HDC hdc) } -/****************************************************************** - * MFDRV_WriteRecord - * - * Warning: this function can change the pointer to the metafile header. - */ -BOOL MFDRV_WriteRecord( PHYSDEV dev, METARECORD *mr, DWORD rlen) +struct metadc *get_metadc_ptr( HDC hdc ) +{ + struct metadc *metafile = get_gdi_client_ptr( hdc, NTGDI_OBJ_METADC ); + if (!metafile) SetLastError( ERROR_INVALID_HANDLE ); + return metafile; +} + +BOOL metadc_write_record( struct metadc *metadc, METARECORD *mr, unsigned int rlen ) { DWORD len, size; METAHEADER *mh; - struct metadc *physDev = (struct metadc *)dev; - len = physDev->mh->mtSize * 2 + rlen; - /* reallocate memory if needed */ - size = HeapSize( GetProcessHeap(), 0, physDev->mh ); + len = metadc->mh->mtSize * sizeof(WORD) + rlen; + size = HeapSize( GetProcessHeap(), 0, metadc->mh ); if (len > size) { - /*expand size*/ - size += size / 2 + rlen; - mh = HeapReAlloc( GetProcessHeap(), 0, physDev->mh, size); + size += size / sizeof(WORD) + rlen; + mh = HeapReAlloc( GetProcessHeap(), 0, metadc->mh, size ); if (!mh) return FALSE; - physDev->mh = mh; - TRACE("Reallocated metafile: new size is %d\n",size); + metadc->mh = mh; } - memcpy((WORD *)physDev->mh + physDev->mh->mtSize, mr, rlen); + memcpy( (WORD *)metadc->mh + metadc->mh->mtSize, mr, rlen ); - physDev->mh->mtSize += rlen / 2; - physDev->mh->mtMaxRecord = max(physDev->mh->mtMaxRecord, rlen / 2); + metadc->mh->mtSize += rlen / sizeof(WORD); + metadc->mh->mtMaxRecord = max( metadc->mh->mtMaxRecord, rlen / sizeof(WORD) ); return TRUE; } - -/****************************************************************** - * MFDRV_MetaParam0 - */ - -BOOL MFDRV_MetaParam0(PHYSDEV dev, short func) -{ - char buffer[8]; - METARECORD *mr = (METARECORD *)&buffer; - - mr->rdSize = 3; - mr->rdFunction = func; - return MFDRV_WriteRecord( dev, mr, mr->rdSize * 2); -} - - -/****************************************************************** - * MFDRV_MetaParam1 - */ -BOOL MFDRV_MetaParam1(PHYSDEV dev, short func, short param1) -{ - char buffer[8]; - METARECORD *mr = (METARECORD *)&buffer; - WORD *params = mr->rdParm; - - mr->rdSize = 4; - mr->rdFunction = func; - params[0] = param1; - return MFDRV_WriteRecord( dev, mr, mr->rdSize * 2); -} - - -/****************************************************************** - * MFDRV_MetaParam2 - */ -BOOL MFDRV_MetaParam2(PHYSDEV dev, short func, short param1, short param2) -{ - char buffer[10]; - METARECORD *mr = (METARECORD *)&buffer; - WORD *params = mr->rdParm; - - mr->rdSize = 5; - mr->rdFunction = func; - params[0] = param2; - params[1] = param1; - return MFDRV_WriteRecord( dev, mr, mr->rdSize * 2); -} - - -/****************************************************************** - * MFDRV_MetaParam4 - */ - -BOOL MFDRV_MetaParam4(PHYSDEV dev, short func, short param1, short param2, - short param3, short param4) -{ - char buffer[14]; - METARECORD *mr = (METARECORD *)&buffer; - WORD *params = mr->rdParm; - - mr->rdSize = 7; - mr->rdFunction = func; - params[0] = param4; - params[1] = param3; - params[2] = param2; - params[3] = param1; - return MFDRV_WriteRecord( dev, mr, mr->rdSize * 2); -} - - -/****************************************************************** - * MFDRV_MetaParam6 - */ - -BOOL MFDRV_MetaParam6(PHYSDEV dev, short func, short param1, short param2, - short param3, short param4, short param5, short param6) -{ - char buffer[18]; - METARECORD *mr = (METARECORD *)&buffer; - WORD *params = mr->rdParm; - - mr->rdSize = 9; - mr->rdFunction = func; - params[0] = param6; - params[1] = param5; - params[2] = param4; - params[3] = param3; - params[4] = param2; - params[5] = param1; - return MFDRV_WriteRecord( dev, mr, mr->rdSize * 2); -} - - -/****************************************************************** - * MFDRV_MetaParam8 - */ -BOOL MFDRV_MetaParam8(PHYSDEV dev, short func, short param1, short param2, - short param3, short param4, short param5, - short param6, short param7, short param8) -{ - char buffer[22]; - METARECORD *mr = (METARECORD *)&buffer; - WORD *params = mr->rdParm; - - mr->rdSize = 11; - mr->rdFunction = func; - params[0] = param8; - params[1] = param7; - params[2] = param6; - params[3] = param5; - params[4] = param4; - params[5] = param3; - params[6] = param2; - params[7] = param1; - return MFDRV_WriteRecord( dev, mr, mr->rdSize * 2); -} - -struct metadc *get_metadc_ptr( HDC hdc ) -{ - struct metadc *metafile = get_gdi_client_ptr( hdc, NTGDI_OBJ_METADC ); - if (!metafile) SetLastError( ERROR_INVALID_HANDLE ); - return metafile; -} - -BOOL metadc_write_record( struct metadc *metadc, METARECORD *mr, unsigned int rlen ) -{ - return MFDRV_WriteRecord( &metadc->dev, mr, rlen ); -} - BOOL metadc_record( HDC hdc, METARECORD *mr, DWORD rlen ) { struct metadc *metadc; @@ -594,37 +463,50 @@ BOOL metadc_record( HDC hdc, METARECORD *mr, DWORD rlen ) return metadc_write_record( metadc, mr, rlen ); } -BOOL metadc_param1( HDC hdc, short func, short param ) +BOOL metadc_param0( HDC hdc, short func ) { - struct metadc *dev; + METARECORD mr; - if (!(dev = get_metadc_ptr( hdc ))) return FALSE; - return MFDRV_MetaParam1( &dev->dev, func, param ); + mr.rdSize = FIELD_OFFSET(METARECORD, rdParm[0]) / sizeof(WORD); + mr.rdFunction = func; + return metadc_record( hdc, &mr, mr.rdSize * sizeof(WORD) ); } -BOOL metadc_param0( HDC hdc, short func ) +BOOL metadc_param1( HDC hdc, short func, short param ) { - struct metadc *dev; + METARECORD mr; - if (!(dev = get_metadc_ptr( hdc ))) return FALSE; - return MFDRV_MetaParam0( &dev->dev, func ); + mr.rdSize = sizeof(mr) / sizeof(WORD); + mr.rdFunction = func; + mr.rdParm[0] = param; + return metadc_record( hdc, &mr, mr.rdSize * sizeof(WORD) ); } BOOL metadc_param2( HDC hdc, short func, short param1, short param2 ) { - struct metadc *dev; + char buffer[FIELD_OFFSET(METARECORD, rdParm[2])]; + METARECORD *mr = (METARECORD *)&buffer; - if (!(dev = get_metadc_ptr( hdc ))) return FALSE; - return MFDRV_MetaParam2( &dev->dev, func, param1, param2 ); + mr->rdSize = sizeof(buffer) / sizeof(WORD); + mr->rdFunction = func; + mr->rdParm[0] = param2; + mr->rdParm[1] = param1; + return metadc_record( hdc, mr, sizeof(buffer) ); } BOOL metadc_param4( HDC hdc, short func, short param1, short param2, short param3, short param4 ) { - struct metadc *dev; + char buffer[FIELD_OFFSET(METARECORD, rdParm[4])]; + METARECORD *mr = (METARECORD *)&buffer; - if (!(dev = get_metadc_ptr( hdc ))) return FALSE; - return MFDRV_MetaParam4( &dev->dev, func, param1, param2, param3, param4 ); + mr->rdSize = sizeof(buffer) / sizeof(WORD); + mr->rdFunction = func; + mr->rdParm[0] = param4; + mr->rdParm[1] = param3; + mr->rdParm[2] = param2; + mr->rdParm[3] = param1; + return metadc_record( hdc, mr, sizeof(buffer) ); } BOOL metadc_param5( HDC hdc, short func, short param1, short param2, @@ -647,20 +529,36 @@ BOOL metadc_param6( HDC hdc, short func, short param1, short param2, short param3, short param4, short param5, short param6 ) { - struct metadc *dev; + char buffer[FIELD_OFFSET(METARECORD, rdParm[6])]; + METARECORD *mr = (METARECORD *)&buffer; - if (!(dev = get_metadc_ptr( hdc ))) return FALSE; - return MFDRV_MetaParam6( &dev->dev, func, param1, param2, param3, - param4, param5, param6 ); + mr->rdSize = sizeof(buffer) / sizeof(WORD); + mr->rdFunction = func; + mr->rdParm[0] = param6; + mr->rdParm[1] = param5; + mr->rdParm[2] = param4; + mr->rdParm[3] = param3; + mr->rdParm[4] = param2; + mr->rdParm[5] = param1; + return metadc_record( hdc, mr, sizeof(buffer) ); } BOOL metadc_param8( HDC hdc, short func, short param1, short param2, short param3, short param4, short param5, short param6, short param7, short param8) { - struct metadc *dev; + char buffer[FIELD_OFFSET(METARECORD, rdParm[8])]; + METARECORD *mr = (METARECORD *)&buffer; - if (!(dev = get_metadc_ptr( hdc ))) return FALSE; - return MFDRV_MetaParam8( &dev->dev, func, param1, param2, param3, - param4, param5, param6, param7, param8 ); + mr->rdSize = sizeof(buffer) / sizeof(WORD); + mr->rdFunction = func; + mr->rdParm[0] = param8; + mr->rdParm[1] = param7; + mr->rdParm[2] = param6; + mr->rdParm[3] = param5; + mr->rdParm[4] = param4; + mr->rdParm[5] = param3; + mr->rdParm[6] = param2; + mr->rdParm[7] = param1; + return metadc_record( hdc, mr, sizeof(buffer) ); }
1
0
0
0
Jacek Caban : gdi32: Don't use PHYSDEV for metafile helpers.
by Alexandre Julliard
17 Aug '21
17 Aug '21
Module: wine Branch: master Commit: 22e40449e117e31dfdcff3d8c78c86a33054f1ee URL:
https://source.winehq.org/git/wine.git/?a=commit;h=22e40449e117e31dfdcff3d8…
Author: Jacek Caban <jacek(a)codeweavers.com> Date: Tue Aug 17 11:38:21 2021 +0200 gdi32: Don't use PHYSDEV for metafile helpers. Signed-off-by: Jacek Caban <jacek(a)codeweavers.com> Signed-off-by: Huw Davies <huw(a)codeweavers.com> Signed-off-by: Alexandre Julliard <julliard(a)winehq.org> --- dlls/gdi32/mfdrv/graphics.c | 27 ++++++----- dlls/gdi32/mfdrv/metafiledrv.h | 6 +-- dlls/gdi32/mfdrv/objects.c | 102 ++++++++++++++++++++--------------------- 3 files changed, 65 insertions(+), 70 deletions(-) Diff:
https://source.winehq.org/git/wine.git/?a=commitdiff;h=22e40449e117e31dfdcf…
1
0
0
0
Jacek Caban : gdi32: Avoid using MFDRV_MetaParam* helpers.
by Alexandre Julliard
17 Aug '21
17 Aug '21
Module: wine Branch: master Commit: a3368089fb45975df4e819ebb232008fd1228416 URL:
https://source.winehq.org/git/wine.git/?a=commit;h=a3368089fb45975df4e819eb…
Author: Jacek Caban <jacek(a)codeweavers.com> Date: Tue Aug 17 11:38:06 2021 +0200 gdi32: Avoid using MFDRV_MetaParam* helpers. Signed-off-by: Jacek Caban <jacek(a)codeweavers.com> Signed-off-by: Huw Davies <huw(a)codeweavers.com> Signed-off-by: Alexandre Julliard <julliard(a)winehq.org> --- dlls/gdi32/mfdrv/graphics.c | 14 +++++++------- dlls/gdi32/mfdrv/init.c | 13 +++++++++---- dlls/gdi32/mfdrv/metafiledrv.h | 13 +------------ dlls/gdi32/mfdrv/objects.c | 24 ++++++++++++------------ 4 files changed, 29 insertions(+), 35 deletions(-) diff --git a/dlls/gdi32/mfdrv/graphics.c b/dlls/gdi32/mfdrv/graphics.c index 933ad0c682c..248de986cee 100644 --- a/dlls/gdi32/mfdrv/graphics.c +++ b/dlls/gdi32/mfdrv/graphics.c @@ -340,7 +340,7 @@ static INT16 MFDRV_CreateRegion(PHYSDEV dev, HRGN hrgn) mr->rdParm[10] = rgndata->rdh.rcBound.bottom; mr->rdFunction = META_CREATEREGION; mr->rdSize = Param - (WORD *)mr; - ret = MFDRV_WriteRecord( dev, mr, mr->rdSize * 2 ); + ret = metadc_record( dev->hdc, mr, mr->rdSize * 2 ); HeapFree( GetProcessHeap(), 0, mr ); HeapFree( GetProcessHeap(), 0, rgndata ); if(!ret) @@ -363,7 +363,7 @@ BOOL METADC_PaintRgn( HDC hdc, HRGN hrgn ) index = MFDRV_CreateRegion( &mf->dev, hrgn ); if(index == -1) return FALSE; - return MFDRV_MetaParam1( &mf->dev, META_PAINTREGION, index ); + return metadc_param1( hdc, META_PAINTREGION, index ); } @@ -378,7 +378,7 @@ BOOL METADC_InvertRgn( HDC hdc, HRGN hrgn ) index = MFDRV_CreateRegion( &mf->dev, hrgn ); if(index == -1) return FALSE; - return MFDRV_MetaParam1( &mf->dev, META_INVERTREGION, index ); + return metadc_param1( hdc, META_INVERTREGION, index ); } @@ -398,7 +398,7 @@ BOOL METADC_FillRgn( HDC hdc, HRGN hrgn, HBRUSH hbrush ) iBrush = MFDRV_CreateBrushIndirect( &mf->dev, hbrush ); if(!iBrush) return FALSE; - return MFDRV_MetaParam2( &mf->dev, META_FILLREGION, iRgn, iBrush ); + return metadc_param2( hdc, META_FILLREGION, iRgn, iBrush ); } /********************************************************************** @@ -424,7 +424,7 @@ BOOL METADC_FrameRgn( HDC hdc, HRGN hrgn, HBRUSH hbrush, INT x, INT y ) iBrush = MFDRV_CreateBrushIndirect( &mf->dev, hbrush ); if(!iBrush) return FALSE; - return MFDRV_MetaParam4( &mf->dev, META_FRAMEREGION, iRgn, iBrush, x, y ); + return metadc_param4( hdc, META_FRAMEREGION, iRgn, iBrush, x, y ); } @@ -442,8 +442,8 @@ BOOL METADC_ExtSelectClipRgn( HDC hdc, HRGN hrgn, INT mode ) if (!hrgn) return NULLREGION; iRgn = MFDRV_CreateRegion( &metadc->dev, hrgn ); if(iRgn == -1) return ERROR; - ret = MFDRV_MetaParam1( &metadc->dev, META_SELECTOBJECT, iRgn ) ? NULLREGION : ERROR; - MFDRV_MetaParam1( &metadc->dev, META_DELETEOBJECT, iRgn ); + ret = metadc_param1( hdc, META_SELECTOBJECT, iRgn ) ? NULLREGION : ERROR; + metadc_param1( hdc, META_DELETEOBJECT, iRgn ); MFDRV_RemoveHandle( &metadc->dev, iRgn ); return ret; } diff --git a/dlls/gdi32/mfdrv/init.c b/dlls/gdi32/mfdrv/init.c index e841f0c0fc0..345618ead08 100644 --- a/dlls/gdi32/mfdrv/init.c +++ b/dlls/gdi32/mfdrv/init.c @@ -378,7 +378,7 @@ static DC *MFDRV_CloseMetaFile( HDC hdc ) * in SDK Knowledgebase Q99334. */ - if (!MFDRV_MetaParam0(dc->physDev, META_EOF)) + if (!metadc_param0( hdc, META_EOF )) { free_dc_ptr( dc ); return 0; @@ -581,12 +581,17 @@ struct metadc *get_metadc_ptr( HDC hdc ) return metafile; } +BOOL metadc_write_record( struct metadc *metadc, METARECORD *mr, unsigned int rlen ) +{ + return MFDRV_WriteRecord( &metadc->dev, mr, rlen ); +} + BOOL metadc_record( HDC hdc, METARECORD *mr, DWORD rlen ) { - struct metadc *dev; + struct metadc *metadc; - if (!(dev = get_metadc_ptr( hdc ))) return FALSE; - return MFDRV_WriteRecord( &dev->dev, mr, rlen ); + if (!(metadc = get_metadc_ptr( hdc ))) return FALSE; + return metadc_write_record( metadc, mr, rlen ); } BOOL metadc_param1( HDC hdc, short func, short param ) diff --git a/dlls/gdi32/mfdrv/metafiledrv.h b/dlls/gdi32/mfdrv/metafiledrv.h index b986855540e..2cb8ab9a5f1 100644 --- a/dlls/gdi32/mfdrv/metafiledrv.h +++ b/dlls/gdi32/mfdrv/metafiledrv.h @@ -46,18 +46,6 @@ struct metadc #define HANDLE_LIST_INC 20 -extern BOOL MFDRV_MetaParam0(PHYSDEV dev, short func) DECLSPEC_HIDDEN; -extern BOOL MFDRV_MetaParam1(PHYSDEV dev, short func, short param1) DECLSPEC_HIDDEN; -extern BOOL MFDRV_MetaParam2(PHYSDEV dev, short func, short param1, short param2) DECLSPEC_HIDDEN; -extern BOOL MFDRV_MetaParam4(PHYSDEV dev, short func, short param1, short param2, - short param3, short param4) DECLSPEC_HIDDEN; -extern BOOL MFDRV_MetaParam6(PHYSDEV dev, short func, short param1, short param2, - short param3, short param4, short param5, - short param6) DECLSPEC_HIDDEN; -extern BOOL MFDRV_MetaParam8(PHYSDEV dev, short func, short param1, short param2, - short param3, short param4, short param5, - short param6, short param7, short param8) DECLSPEC_HIDDEN; -extern BOOL MFDRV_WriteRecord(PHYSDEV dev, METARECORD *mr, DWORD rlen) DECLSPEC_HIDDEN; extern UINT MFDRV_AddHandle( PHYSDEV dev, HGDIOBJ obj ) DECLSPEC_HIDDEN; extern BOOL MFDRV_RemoveHandle( PHYSDEV dev, UINT index ) DECLSPEC_HIDDEN; extern INT16 MFDRV_CreateBrushIndirect( PHYSDEV dev, HBRUSH hBrush ) DECLSPEC_HIDDEN; @@ -76,6 +64,7 @@ extern BOOL metadc_param8( HDC hdc, short func, short param1, short param2, short param3, short param4, short param5, short param6, short param7, short param8 ) DECLSPEC_HIDDEN; extern BOOL metadc_record( HDC hdc, METARECORD *mr, DWORD rlen ) DECLSPEC_HIDDEN; +extern BOOL metadc_write_record( struct metadc *metadc, METARECORD *mr, DWORD rlen ) DECLSPEC_HIDDEN; /* Metafile driver functions */ diff --git a/dlls/gdi32/mfdrv/objects.c b/dlls/gdi32/mfdrv/objects.c index 34b58ebfe52..dbbb72b67bc 100644 --- a/dlls/gdi32/mfdrv/objects.c +++ b/dlls/gdi32/mfdrv/objects.c @@ -112,7 +112,7 @@ void METADC_DeleteObject( HDC hdc, HGDIOBJ obj ) mr.rdFunction = META_DELETEOBJECT; mr.rdParm[0] = index; - MFDRV_WriteRecord( &metadc->dev, &mr, mr.rdSize*2 ); + metadc_write_record( metadc, &mr, mr.rdSize * 2 ); metadc->handles[index] = 0; metadc->cur_handles--; @@ -122,15 +122,14 @@ void METADC_DeleteObject( HDC hdc, HGDIOBJ obj ) /*********************************************************************** * MFDRV_SelectObject */ -static BOOL MFDRV_SelectObject( PHYSDEV dev, INT16 index) +static BOOL metadc_select_object( HDC hdc, INT16 index) { METARECORD mr; mr.rdSize = sizeof mr / 2; mr.rdFunction = META_SELECTOBJECT; mr.rdParm[0] = index; - - return MFDRV_WriteRecord( dev, &mr, mr.rdSize*2 ); + return metadc_record( hdc, &mr, mr.rdSize*2 ); } @@ -209,7 +208,7 @@ INT16 MFDRV_CreateBrushIndirect(PHYSDEV dev, HBRUSH hBrush ) FIXME("Unknown brush style %x\n", logbrush.lbStyle); return 0; } - r = MFDRV_WriteRecord( dev, mr, mr->rdSize * 2); + r = metadc_record( dev->hdc, mr, mr->rdSize * 2 ); HeapFree(GetProcessHeap(), 0, mr); if( !r ) return -1; @@ -235,7 +234,7 @@ static HBRUSH METADC_SelectBrush( HDC hdc, HBRUSH hbrush ) return 0; GDI_hdc_using_object( hbrush, hdc, METADC_DeleteObject ); } - if (!MFDRV_SelectObject( &metadc->dev, index )) return 0; + if (!metadc_select_object( hdc, index )) return 0; ret = metadc->brush; metadc->brush = hbrush; return ret; @@ -273,7 +272,7 @@ static UINT16 MFDRV_CreateFontIndirect(PHYSDEV dev, HFONT hFont, LOGFONTW *logfo /* Zero pad the facename buffer, so that we don't write uninitialized data to disk */ memset(font16->lfFaceName + written, 0, LF_FACESIZE - written); - if (!(MFDRV_WriteRecord( dev, mr, mr->rdSize * 2))) + if (!metadc_record( dev->hdc, mr, mr->rdSize * 2)) return 0; return MFDRV_AddHandle( dev, hFont ); } @@ -299,7 +298,7 @@ static HFONT METADC_SelectFont( HDC hdc, HFONT hfont ) return 0; GDI_hdc_using_object( hfont, hdc, METADC_DeleteObject ); } - if (!MFDRV_SelectObject( &metadc->dev, index )) return 0; + if (!metadc_select_object( hdc, index )) return 0; ret = metadc->font; metadc->font = hfont; return ret; @@ -316,7 +315,7 @@ static UINT16 MFDRV_CreatePenIndirect(PHYSDEV dev, HPEN hPen, LOGPEN16 *logpen) mr->rdSize = (sizeof(METARECORD) + sizeof(*logpen) - 2) / 2; mr->rdFunction = META_CREATEPENINDIRECT; memcpy(&(mr->rdParm), logpen, sizeof(*logpen)); - if (!(MFDRV_WriteRecord( dev, mr, mr->rdSize * 2))) + if (!metadc_record( dev->hdc, mr, mr->rdSize * 2 )) return 0; return MFDRV_AddHandle( dev, hPen ); } @@ -370,7 +369,8 @@ static HPEN METADC_SelectPen( HDC hdc, HPEN hpen ) GDI_hdc_using_object( hpen, hdc, METADC_DeleteObject ); } - if (!MFDRV_SelectObject( &metadc->dev, index )) return 0; + + if (!metadc_select_object( hdc, index )) return 0; ret = metadc->pen; metadc->pen = hpen; return ret; @@ -390,7 +390,7 @@ static BOOL MFDRV_CreatePalette(PHYSDEV dev, HPALETTE hPalette, LOGPALETTE* logP mr->rdSize = (sizeof(METARECORD) + sizeofPalette - sizeof(WORD)) / sizeof(WORD); mr->rdFunction = META_CREATEPALETTE; memcpy(&(mr->rdParm), logPalette, sizeofPalette); - if (!(MFDRV_WriteRecord( dev, mr, mr->rdSize * sizeof(WORD)))) + if (!metadc_record( dev->hdc, mr, mr->rdSize * sizeof(WORD) )) { HeapFree(GetProcessHeap(), 0, mr); return FALSE; @@ -403,7 +403,7 @@ static BOOL MFDRV_CreatePalette(PHYSDEV dev, HPALETTE hPalette, LOGPALETTE* logP else { *(mr->rdParm) = index; - ret = MFDRV_WriteRecord( dev, mr, mr->rdSize * sizeof(WORD)); + ret = metadc_record( dev->hdc, mr, mr->rdSize * sizeof(WORD) ); } HeapFree(GetProcessHeap(), 0, mr); return ret;
1
0
0
0
← Newer
1
...
51
52
53
54
55
56
57
...
106
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
105
106
Results per page:
10
25
50
100
200