ReactOS.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
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
List overview
Download
Ros-diffs
March 2015
----- 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
ros-diffs@reactos.org
18 participants
496 discussions
Start a n
N
ew thread
[akhaldi] 66873: [IMAGEHLP] Sync with Wine Staging 1.7.37. CORE-9246
by akhaldi@svn.reactos.org
Author: akhaldi Date: Wed Mar 25 11:57:17 2015 New Revision: 66873 URL:
http://svn.reactos.org/svn/reactos?rev=66873&view=rev
Log: [IMAGEHLP] Sync with Wine Staging 1.7.37. CORE-9246 Modified: trunk/reactos/dll/win32/imagehlp/modify.c trunk/reactos/media/doc/README.WINE Modified: trunk/reactos/dll/win32/imagehlp/modify.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/imagehlp/modify.…
============================================================================== --- trunk/reactos/dll/win32/imagehlp/modify.c [iso-8859-1] (original) +++ trunk/reactos/dll/win32/imagehlp/modify.c [iso-8859-1] Wed Mar 25 11:57:17 2015 @@ -20,10 +20,15 @@ #include "precomp.h" +#include <wine/winternl.h> + static WORD CalcCheckSum(DWORD StartValue, LPVOID BaseAddress, DWORD WordCount); /*********************************************************************** * BindImage (IMAGEHLP.@) + * + * NOTES + * See BindImageEx */ BOOL WINAPI BindImage( PCSTR ImageName, PCSTR DllPath, PCSTR SymbolPath) @@ -33,16 +38,113 @@ /*********************************************************************** * BindImageEx (IMAGEHLP.@) + * + * Compute the virtual address of each function imported by a PE image + * + * PARAMS + * + * Flags [in] Bind options + * ImageName [in] File name of the image to be bound + * DllPath [in] Root of the fallback search path in case the ImageName file cannot be opened + * SymbolPath [in] Symbol file root search path + * StatusRoutine [in] Pointer to a status routine which will be called during the binding process + * + * RETURNS + * Success: TRUE + * Failure: FALSE + * + * NOTES + * Binding is not implemented yet, so far this function only enumerates + * all imported dlls/functions and returns TRUE. */ BOOL WINAPI BindImageEx( DWORD Flags, PCSTR ImageName, PCSTR DllPath, PCSTR SymbolPath, PIMAGEHLP_STATUS_ROUTINE StatusRoutine) { - FIXME("(%d, %s, %s, %s, %p): stub\n", - Flags, debugstr_a(ImageName), debugstr_a(DllPath), - debugstr_a(SymbolPath), StatusRoutine - ); - return TRUE; + LOADED_IMAGE loaded_image; + const IMAGE_IMPORT_DESCRIPTOR *import_desc; + ULONG size; + + FIXME("(%d, %s, %s, %s, %p): semi-stub\n", + Flags, debugstr_a(ImageName), debugstr_a(DllPath), + debugstr_a(SymbolPath), StatusRoutine + ); + + if (!(MapAndLoad(ImageName, DllPath, &loaded_image, TRUE, TRUE))) return FALSE; + + if (!(import_desc = RtlImageDirectoryEntryToData((HMODULE)loaded_image.MappedAddress, FALSE, + IMAGE_DIRECTORY_ENTRY_IMPORT, &size))) + { + UnMapAndLoad(&loaded_image); + return TRUE; /* No imported modules means nothing to bind, so we're done. */ + } + + /* FIXME: Does native imagehlp support both 32-bit and 64-bit PE executables? */ +#ifdef _WIN64 + if (loaded_image.FileHeader->OptionalHeader.Magic != IMAGE_NT_OPTIONAL_HDR64_MAGIC) +#else + if (loaded_image.FileHeader->OptionalHeader.Magic != IMAGE_NT_OPTIONAL_HDR32_MAGIC) +#endif + { + FIXME("Wrong architecture in PE header, unable to enumerate imports\n"); + UnMapAndLoad(&loaded_image); + return TRUE; + } + + for (; import_desc->Name && import_desc->FirstThunk; ++import_desc) + { + IMAGE_THUNK_DATA *thunk; + char dll_fullname[MAX_PATH]; + const char *dll_name; + + if (!(dll_name = ImageRvaToVa(loaded_image.FileHeader, loaded_image.MappedAddress, + import_desc->Name, 0))) + { + UnMapAndLoad(&loaded_image); + SetLastError(ERROR_INVALID_ACCESS); /* FIXME */ + return FALSE; + } + + if (StatusRoutine) + StatusRoutine(BindImportModule, ImageName, dll_name, 0, 0); + + if (!SearchPathA(DllPath, dll_name, 0, sizeof(dll_fullname), dll_fullname, 0)) + { + UnMapAndLoad(&loaded_image); + SetLastError(ERROR_FILE_NOT_FOUND); + return FALSE; + } + + if (!(thunk = ImageRvaToVa(loaded_image.FileHeader, loaded_image.MappedAddress, + import_desc->OriginalFirstThunk ? import_desc->OriginalFirstThunk : + import_desc->FirstThunk, 0))) + { + ERR("Can't grab thunk data of %s, going to next imported DLL\n", dll_name); + continue; + } + + for (; thunk->u1.Ordinal; ++thunk) + { + /* Ignoring ordinal imports for now */ + if(!IMAGE_SNAP_BY_ORDINAL(thunk->u1.Ordinal)) + { + IMAGE_IMPORT_BY_NAME *iibn; + + if (!(iibn = ImageRvaToVa(loaded_image.FileHeader, loaded_image.MappedAddress, + thunk->u1.AddressOfData, 0))) + { + ERR("Can't grab import by name info, skipping to next ordinal\n"); + continue; + } + + if (StatusRoutine) + StatusRoutine(BindImportProcedure, ImageName, dll_fullname, 0, (ULONG_PTR)iibn->Name); + } + } + } + + UnMapAndLoad(&loaded_image); + return TRUE; } Modified: trunk/reactos/media/doc/README.WINE URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/media/doc/README.WINE?rev=…
============================================================================== --- trunk/reactos/media/doc/README.WINE [iso-8859-1] (original) +++ trunk/reactos/media/doc/README.WINE [iso-8859-1] Wed Mar 25 11:57:17 2015 @@ -85,7 +85,7 @@ reactos/dll/win32/icmp # Out of sync reactos/dll/win32/ieframe # Synced to WineStaging-1.7.37 reactos/dll/win32/imaadp32.acm # Synced to Wine-1.7.27 -reactos/dll/win32/imagehlp # Synced to Wine-1.7.27 +reactos/dll/win32/imagehlp # Synced to WineStaging-1.7.37 reactos/dll/win32/imm32 # Synced to Wine-1.7.27 reactos/dll/win32/inetcomm # Synced to Wine-1.7.27 reactos/dll/win32/inetmib1 # Synced to Wine-1.7.27
9 years, 9 months
1
0
0
0
[akhaldi] 66872: [IEFRAME] Sync with Wine Staging 1.7.37. CORE-9246
by akhaldi@svn.reactos.org
Author: akhaldi Date: Wed Mar 25 11:56:14 2015 New Revision: 66872 URL:
http://svn.reactos.org/svn/reactos?rev=66872&view=rev
Log: [IEFRAME] Sync with Wine Staging 1.7.37. CORE-9246 Modified: trunk/reactos/dll/win32/ieframe/client.c trunk/reactos/dll/win32/ieframe/dochost.c trunk/reactos/dll/win32/ieframe/ie.c trunk/reactos/dll/win32/ieframe/ieframe.h trunk/reactos/dll/win32/ieframe/iexplore.c trunk/reactos/dll/win32/ieframe/navigate.c trunk/reactos/dll/win32/ieframe/oleobject.c trunk/reactos/dll/win32/ieframe/shellbrowser.c trunk/reactos/dll/win32/ieframe/webbrowser.c trunk/reactos/media/doc/README.WINE Modified: trunk/reactos/dll/win32/ieframe/client.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/ieframe/client.c…
============================================================================== --- trunk/reactos/dll/win32/ieframe/client.c [iso-8859-1] (original) +++ trunk/reactos/dll/win32/ieframe/client.c [iso-8859-1] Wed Mar 25 11:56:14 2015 @@ -288,7 +288,7 @@ TRACE("(%p)->(%p, %x)\n", This, pfNoRedraw, dwFlags); /* FIXME: Avoid redraw, when possible */ - pfNoRedraw = FALSE; + *pfNoRedraw = FALSE; if (dwFlags) { FIXME("dwFlags not supported (%x)\n", dwFlags); Modified: trunk/reactos/dll/win32/ieframe/dochost.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/ieframe/dochost.…
============================================================================== --- trunk/reactos/dll/win32/ieframe/dochost.c [iso-8859-1] (original) +++ trunk/reactos/dll/win32/ieframe/dochost.c [iso-8859-1] Wed Mar 25 11:56:14 2015 @@ -525,11 +525,14 @@ This->document = NULL; } -HRESULT refresh_document(DocHost *This) +HRESULT refresh_document(DocHost *This, const VARIANT *level) { IOleCommandTarget *cmdtrg; VARIANT vin, vout; HRESULT hres; + + if(level && (V_VT(level) != VT_I4 || V_I4(level) != REFRESH_NORMAL)) + FIXME("Unsupported refresh level %s\n", debugstr_variant(level)); if(!This->document) { FIXME("no document\n"); Modified: trunk/reactos/dll/win32/ieframe/ie.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/ieframe/ie.c?rev…
============================================================================== --- trunk/reactos/dll/win32/ieframe/ie.c [iso-8859-1] (original) +++ trunk/reactos/dll/win32/ieframe/ie.c [iso-8859-1] Wed Mar 25 11:56:14 2015 @@ -178,14 +178,16 @@ TRACE("(%p)\n", This); - return refresh_document(&This->doc_host); + return refresh_document(&This->doc_host, NULL); } static HRESULT WINAPI InternetExplorer_Refresh2(IWebBrowser2 *iface, VARIANT *Level) { InternetExplorer *This = impl_from_IWebBrowser2(iface); - FIXME("(%p)->(%p)\n", This, Level); - return E_NOTIMPL; + + TRACE("(%p)->(%p)\n", This, Level); + + return refresh_document(&This->doc_host, Level); } static HRESULT WINAPI InternetExplorer_Stop(IWebBrowser2 *iface) Modified: trunk/reactos/dll/win32/ieframe/ieframe.h URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/ieframe/ieframe.…
============================================================================== --- trunk/reactos/dll/win32/ieframe/ieframe.h [iso-8859-1] (original) +++ trunk/reactos/dll/win32/ieframe/ieframe.h [iso-8859-1] Wed Mar 25 11:56:14 2015 @@ -281,7 +281,7 @@ HRESULT go_home(DocHost*) DECLSPEC_HIDDEN; HRESULT go_back(DocHost*) DECLSPEC_HIDDEN; HRESULT go_forward(DocHost*) DECLSPEC_HIDDEN; -HRESULT refresh_document(DocHost*) DECLSPEC_HIDDEN; +HRESULT refresh_document(DocHost*,const VARIANT*) DECLSPEC_HIDDEN; HRESULT get_location_url(DocHost*,BSTR*) DECLSPEC_HIDDEN; HRESULT set_dochost_url(DocHost*,const WCHAR*) DECLSPEC_HIDDEN; void handle_navigation_error(DocHost*,HRESULT,BSTR,IHTMLWindow2*) DECLSPEC_HIDDEN; @@ -289,6 +289,7 @@ void set_doc_state(DocHost*,READYSTATE) DECLSPEC_HIDDEN; void deactivate_document(DocHost*) DECLSPEC_HIDDEN; void create_doc_view_hwnd(DocHost*) DECLSPEC_HIDDEN; +void on_commandstate_change(DocHost*,LONG,VARIANT_BOOL) DECLSPEC_HIDDEN; #define WM_DOCHOSTTASK (WM_USER+0x300) void push_dochost_task(DocHost*,task_header_t*,task_proc_t,task_destr_t,BOOL) DECLSPEC_HIDDEN; Modified: trunk/reactos/dll/win32/ieframe/iexplore.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/ieframe/iexplore…
============================================================================== --- trunk/reactos/dll/win32/ieframe/iexplore.c [iso-8859-1] (original) +++ trunk/reactos/dll/win32/ieframe/iexplore.c [iso-8859-1] Wed Mar 25 11:56:14 2015 @@ -700,7 +700,7 @@ wc.hIcon = LoadIconW(GetModuleHandleW(0), MAKEINTRESOURCEW(IDI_APPICON)); wc.hIconSm = LoadImageW(GetModuleHandleW(0), MAKEINTRESOURCEW(IDI_APPICON), IMAGE_ICON, GetSystemMetrics(SM_CXSMICON), GetSystemMetrics(SM_CYSMICON), LR_SHARED); - wc.hCursor = LoadCursorW(0, MAKEINTRESOURCEW(IDC_ARROW)); + wc.hCursor = LoadCursorW(0, (LPWSTR)IDC_ARROW); wc.hbrBackground = 0; wc.lpszClassName = szIEWinFrame; wc.lpszMenuName = NULL; Modified: trunk/reactos/dll/win32/ieframe/navigate.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/ieframe/navigate…
============================================================================== --- trunk/reactos/dll/win32/ieframe/navigate.c [iso-8859-1] (original) +++ trunk/reactos/dll/win32/ieframe/navigate.c [iso-8859-1] Wed Mar 25 11:56:14 2015 @@ -759,6 +759,27 @@ heap_free(task); } +void on_commandstate_change(DocHost *doc_host, LONG command, VARIANT_BOOL enable) +{ + DISPPARAMS dispparams; + VARIANTARG params[2]; + + TRACE("command=%d enable=%d\n", command, enable); + + dispparams.cArgs = 2; + dispparams.cNamedArgs = 0; + dispparams.rgdispidNamedArgs = NULL; + dispparams.rgvarg = params; + + V_VT(params) = VT_BOOL; + V_BOOL(params) = enable; + + V_VT(params+1) = VT_I4; + V_I4(params+1) = command; + + call_sink(doc_host->cps.wbe2, DISPID_COMMANDSTATECHANGE, &dispparams); +} + static void doc_navigate_proc(DocHost *This, task_header_t *t) { task_doc_navigate_t *task = (task_doc_navigate_t*)t; @@ -861,6 +882,9 @@ FIXME("Navigation canceled\n"); return S_OK; } + + on_commandstate_change(This, CSC_NAVIGATEBACK, VARIANT_FALSE); + on_commandstate_change(This, CSC_NAVIGATEFORWARD, VARIANT_FALSE); if(This->document) deactivate_document(This); @@ -1053,6 +1077,17 @@ if(!This->doc_navigate) { FIXME("unsupported doc_navigate FALSE\n"); return E_NOTIMPL; + } + + if (travellog_pos < This->travellog.position) + { + on_commandstate_change(This, CSC_NAVIGATEBACK, VARIANT_FALSE); + on_commandstate_change(This, CSC_NAVIGATEFORWARD, VARIANT_TRUE); + } + else if (travellog_pos > This->travellog.position) + { + on_commandstate_change(This, CSC_NAVIGATEBACK, VARIANT_TRUE); + on_commandstate_change(This, CSC_NAVIGATEFORWARD, VARIANT_FALSE); } This->travellog.loading_pos = travellog_pos; Modified: trunk/reactos/dll/win32/ieframe/oleobject.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/ieframe/oleobjec…
============================================================================== --- trunk/reactos/dll/win32/ieframe/oleobject.c [iso-8859-1] (original) +++ trunk/reactos/dll/win32/ieframe/oleobject.c [iso-8859-1] Wed Mar 25 11:56:14 2015 @@ -282,8 +282,8 @@ typedef struct { IEnumOLEVERB IEnumOLEVERB_iface; - LONG ref; + LONG iter; } EnumOLEVERB; static inline EnumOLEVERB *impl_from_IEnumOLEVERB(IEnumOLEVERB *iface) @@ -338,10 +338,20 @@ { EnumOLEVERB *This = impl_from_IEnumOLEVERB(iface); + static const OLEVERB verbs[] = + {{OLEIVERB_PRIMARY},{OLEIVERB_INPLACEACTIVATE},{OLEIVERB_UIACTIVATE},{OLEIVERB_SHOW},{OLEIVERB_HIDE}}; + TRACE("(%p)->(%u %p %p)\n", This, celt, rgelt, pceltFetched); + /* There are a few problems with this implementation, but that's how it seems to work in native. See tests. */ if(pceltFetched) *pceltFetched = 0; + + if(This->iter == sizeof(verbs)/sizeof(*verbs)) + return S_FALSE; + + if(celt) + *rgelt = verbs[This->iter++]; return S_OK; } @@ -355,7 +365,10 @@ static HRESULT WINAPI EnumOLEVERB_Reset(IEnumOLEVERB *iface) { EnumOLEVERB *This = impl_from_IEnumOLEVERB(iface); + TRACE("(%p)\n", This); + + This->iter = 0; return S_OK; } @@ -419,6 +432,9 @@ release_client_site(This); if(!pClientSite) { + on_commandstate_change(&This->doc_host, CSC_NAVIGATEBACK, VARIANT_FALSE); + on_commandstate_change(&This->doc_host, CSC_NAVIGATEFORWARD, VARIANT_FALSE); + if(This->doc_host.document) deactivate_document(&This->doc_host); return S_OK; @@ -589,6 +605,7 @@ ret->IEnumOLEVERB_iface.lpVtbl = &EnumOLEVERBVtbl; ret->ref = 1; + ret->iter = 0; *ppEnumOleVerb = &ret->IEnumOLEVERB_iface; return S_OK; Modified: trunk/reactos/dll/win32/ieframe/shellbrowser.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/ieframe/shellbro…
============================================================================== --- trunk/reactos/dll/win32/ieframe/shellbrowser.c [iso-8859-1] (original) +++ trunk/reactos/dll/win32/ieframe/shellbrowser.c [iso-8859-1] Wed Mar 25 11:56:14 2015 @@ -703,9 +703,14 @@ V_VT(params+6) = (VT_DISPATCH); V_DISPATCH(params+6) = (IDispatch*)This->doc_host->wb; + /* Keep reference to This. It may be released in event handler. */ + IShellBrowser_AddRef(&This->IShellBrowser_iface); + TRACE(">>>\n"); call_sink(This->doc_host->cps.wbe2, DISPID_BEFORENAVIGATE2, &dp); TRACE("<<<\n"); + + IShellBrowser_Release(&This->IShellBrowser_iface); SysFreeString(V_BSTR(&var_url)); SysFreeString(V_BSTR(&var_headers)); @@ -759,6 +764,9 @@ V_VT(&url_var) = VT_BSTR; V_BSTR(&url_var) = url; + /* Keep reference to This. It may be released in event handler. */ + IShellBrowser_AddRef(&This->IShellBrowser_iface); + TRACE(">>>\n"); call_sink(This->doc_host->cps.wbe2, DISPID_NAVIGATECOMPLETE2, &dp); TRACE("<<<\n"); @@ -766,6 +774,7 @@ SysFreeString(url); This->doc_host->busy = VARIANT_FALSE; + IShellBrowser_Release(&This->IShellBrowser_iface); return S_OK; } Modified: trunk/reactos/dll/win32/ieframe/webbrowser.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/ieframe/webbrows…
============================================================================== --- trunk/reactos/dll/win32/ieframe/webbrowser.c [iso-8859-1] (original) +++ trunk/reactos/dll/win32/ieframe/webbrowser.c [iso-8859-1] Wed Mar 25 11:56:14 2015 @@ -289,14 +289,16 @@ TRACE("(%p)\n", This); - return refresh_document(&This->doc_host); + return refresh_document(&This->doc_host, NULL); } static HRESULT WINAPI WebBrowser_Refresh2(IWebBrowser2 *iface, VARIANT *Level) { WebBrowser *This = impl_from_IWebBrowser2(iface); - FIXME("(%p)->(%s)\n", This, debugstr_variant(Level)); - return E_NOTIMPL; + + TRACE("(%p)->(%s)\n", This, debugstr_variant(Level)); + + return refresh_document(&This->doc_host, Level); } static HRESULT WINAPI WebBrowser_Stop(IWebBrowser2 *iface) @@ -934,7 +936,12 @@ VARIANT_BOOL *pbRegister) { WebBrowser *This = impl_from_IWebBrowser2(iface); + FIXME("(%p)->(%p)\n", This, pbRegister); + + if(!pbRegister) + return E_INVALIDARG; + *pbRegister=0; return S_OK; } Modified: trunk/reactos/media/doc/README.WINE URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/media/doc/README.WINE?rev=…
============================================================================== --- trunk/reactos/media/doc/README.WINE [iso-8859-1] (original) +++ trunk/reactos/media/doc/README.WINE [iso-8859-1] Wed Mar 25 11:56:14 2015 @@ -83,7 +83,7 @@ reactos/dll/win32/httpapi # Synced to Wine-1.7.27 reactos/dll/win32/iccvid # Synced to WineStaging-1.7.37 reactos/dll/win32/icmp # Out of sync -reactos/dll/win32/ieframe # Synced to Wine-1.7.27 +reactos/dll/win32/ieframe # Synced to WineStaging-1.7.37 reactos/dll/win32/imaadp32.acm # Synced to Wine-1.7.27 reactos/dll/win32/imagehlp # Synced to Wine-1.7.27 reactos/dll/win32/imm32 # Synced to Wine-1.7.27
9 years, 9 months
1
0
0
0
[akhaldi] 66871: [ICCVID] Sync with Wine Staging 1.7.37. CORE-9246
by akhaldi@svn.reactos.org
Author: akhaldi Date: Wed Mar 25 11:54:53 2015 New Revision: 66871 URL:
http://svn.reactos.org/svn/reactos?rev=66871&view=rev
Log: [ICCVID] Sync with Wine Staging 1.7.37. CORE-9246 Modified: trunk/reactos/dll/win32/iccvid/iccvid.c trunk/reactos/media/doc/README.WINE Modified: trunk/reactos/dll/win32/iccvid/iccvid.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/iccvid/iccvid.c?…
============================================================================== --- trunk/reactos/dll/win32/iccvid/iccvid.c [iso-8859-1] (original) +++ trunk/reactos/dll/win32/iccvid/iccvid.c [iso-8859-1] Wed Mar 25 11:54:53 2015 @@ -62,8 +62,6 @@ #define ICCVID_MAGIC mmioFOURCC('c', 'v', 'i', 'd') #define compare_fourcc(fcc1, fcc2) (((fcc1)^(fcc2))&~0x20202020) - -#define DBUG 0 #define MAX_STRIPS 32 /* ------------------------------------------------------------------------ */ Modified: trunk/reactos/media/doc/README.WINE URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/media/doc/README.WINE?rev=…
============================================================================== --- trunk/reactos/media/doc/README.WINE [iso-8859-1] (original) +++ trunk/reactos/media/doc/README.WINE [iso-8859-1] Wed Mar 25 11:54:53 2015 @@ -81,7 +81,7 @@ reactos/dll/win32/hlink # Synced to Wine-1.7.27 reactos/dll/win32/hnetcfg # Synced to WineStaging-1.7.37 reactos/dll/win32/httpapi # Synced to Wine-1.7.27 -reactos/dll/win32/iccvid # Synced to Wine-1.7.27 +reactos/dll/win32/iccvid # Synced to WineStaging-1.7.37 reactos/dll/win32/icmp # Out of sync reactos/dll/win32/ieframe # Synced to Wine-1.7.27 reactos/dll/win32/imaadp32.acm # Synced to Wine-1.7.27
9 years, 9 months
1
0
0
0
[akhaldi] 66870: [HNETCFG] Sync with Wine Staging 1.7.37. CORE-9246
by akhaldi@svn.reactos.org
Author: akhaldi Date: Wed Mar 25 11:54:05 2015 New Revision: 66870 URL:
http://svn.reactos.org/svn/reactos?rev=66870&view=rev
Log: [HNETCFG] Sync with Wine Staging 1.7.37. CORE-9246 Modified: trunk/reactos/dll/win32/hnetcfg/apps.c trunk/reactos/dll/win32/hnetcfg/hnetcfg.c trunk/reactos/dll/win32/hnetcfg/hnetcfg_private.h trunk/reactos/media/doc/README.WINE Modified: trunk/reactos/dll/win32/hnetcfg/apps.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/hnetcfg/apps.c?r…
============================================================================== --- trunk/reactos/dll/win32/hnetcfg/apps.c [iso-8859-1] (original) +++ trunk/reactos/dll/win32/hnetcfg/apps.c [iso-8859-1] Wed Mar 25 11:54:05 2015 @@ -131,7 +131,20 @@ ITypeInfo_Release( info ); } *ret = typeinfo[tid]; - return S_OK; + ITypeInfo_AddRef(typeinfo[tid]); + return S_OK; +} + +void release_typelib(void) +{ + unsigned i; + + for (i = 0; i < sizeof(typeinfo)/sizeof(*typeinfo); i++) + if (typeinfo[i]) + ITypeInfo_Release(typeinfo[i]); + + if (typelib) + ITypeLib_Release(typelib); } static HRESULT WINAPI fw_app_GetTypeInfo( @@ -243,8 +256,12 @@ { fw_app *This = impl_from_INetFwAuthorizedApplication( iface ); - FIXME("%p, %p\n", This, ipVersion); - return E_NOTIMPL; + TRACE("%p, %p\n", This, ipVersion); + + if (!ipVersion) + return E_POINTER; + *ipVersion = NET_FW_IP_VERSION_ANY; + return S_OK; } static HRESULT WINAPI fw_app_put_IpVersion( @@ -253,8 +270,8 @@ { fw_app *This = impl_from_INetFwAuthorizedApplication( iface ); - FIXME("%p, %u\n", This, ipVersion); - return E_NOTIMPL; + TRACE("%p, %u\n", This, ipVersion); + return S_OK; } static HRESULT WINAPI fw_app_get_Scope( Modified: trunk/reactos/dll/win32/hnetcfg/hnetcfg.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/hnetcfg/hnetcfg.…
============================================================================== --- trunk/reactos/dll/win32/hnetcfg/hnetcfg.c [iso-8859-1] (original) +++ trunk/reactos/dll/win32/hnetcfg/hnetcfg.c [iso-8859-1] Wed Mar 25 11:54:05 2015 @@ -103,9 +103,9 @@ static hnetcfg_cf fw_app_cf = { { &hnetcfg_cf_vtbl }, NetFwAuthorizedApplication_create }; static hnetcfg_cf fw_openport_cf = { { &hnetcfg_cf_vtbl }, NetFwOpenPort_create }; -BOOL WINAPI DllMain(HINSTANCE hInstDLL, DWORD fdwReason, LPVOID lpvReserved) +BOOL WINAPI DllMain(HINSTANCE hInstDLL, DWORD fdwReason, LPVOID reserved) { - TRACE("(0x%p, %d, %p)\n",hInstDLL,fdwReason,lpvReserved); + TRACE("(0x%p, %d, %p)\n", hInstDLL, fdwReason, reserved); switch(fdwReason) { case DLL_WINE_PREATTACH: @@ -113,6 +113,10 @@ case DLL_PROCESS_ATTACH: instance = hInstDLL; DisableThreadLibraryCalls(hInstDLL); + break; + case DLL_PROCESS_DETACH: + if (reserved) break; + release_typelib(); break; } return TRUE; Modified: trunk/reactos/dll/win32/hnetcfg/hnetcfg_private.h URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/hnetcfg/hnetcfg_…
============================================================================== --- trunk/reactos/dll/win32/hnetcfg/hnetcfg_private.h [iso-8859-1] (original) +++ trunk/reactos/dll/win32/hnetcfg/hnetcfg_private.h [iso-8859-1] Wed Mar 25 11:54:05 2015 @@ -49,6 +49,7 @@ }; HRESULT get_typeinfo(enum type_id, ITypeInfo **) DECLSPEC_HIDDEN; +void release_typelib(void) DECLSPEC_HIDDEN; HRESULT NetFwMgr_create(IUnknown *, LPVOID *) DECLSPEC_HIDDEN; HRESULT NetFwPolicy_create(IUnknown *, LPVOID *) DECLSPEC_HIDDEN; Modified: trunk/reactos/media/doc/README.WINE URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/media/doc/README.WINE?rev=…
============================================================================== --- trunk/reactos/media/doc/README.WINE [iso-8859-1] (original) +++ trunk/reactos/media/doc/README.WINE [iso-8859-1] Wed Mar 25 11:54:05 2015 @@ -79,7 +79,7 @@ reactos/dll/win32/gdiplus # Synced to WineStaging-1.7.37 reactos/dll/win32/hhctrl.ocx # Synced to Wine-1.7.27 reactos/dll/win32/hlink # Synced to Wine-1.7.27 -reactos/dll/win32/hnetcfg # Synced to Wine-1.7.27 +reactos/dll/win32/hnetcfg # Synced to WineStaging-1.7.37 reactos/dll/win32/httpapi # Synced to Wine-1.7.27 reactos/dll/win32/iccvid # Synced to Wine-1.7.27 reactos/dll/win32/icmp # Out of sync
9 years, 9 months
1
0
0
0
[akhaldi] 66869: [GDIPLUS_WINETEST] Sync with Wine Staging 1.7.37. CORE-9246
by akhaldi@svn.reactos.org
Author: akhaldi Date: Wed Mar 25 11:51:58 2015 New Revision: 66869 URL:
http://svn.reactos.org/svn/reactos?rev=66869&view=rev
Log: [GDIPLUS_WINETEST] Sync with Wine Staging 1.7.37. CORE-9246 Modified: trunk/rostests/winetests/gdiplus/graphics.c trunk/rostests/winetests/gdiplus/image.c trunk/rostests/winetests/gdiplus/region.c Modified: trunk/rostests/winetests/gdiplus/graphics.c URL:
http://svn.reactos.org/svn/reactos/trunk/rostests/winetests/gdiplus/graphic…
============================================================================== --- trunk/rostests/winetests/gdiplus/graphics.c [iso-8859-1] (original) +++ trunk/rostests/winetests/gdiplus/graphics.c [iso-8859-1] Wed Mar 25 11:51:58 2015 @@ -34,7 +34,6 @@ #define expect(expected, got) ok((got) == (expected), "Expected %d, got %d\n", (INT)(expected), (INT)(got)) #define expectf_(expected, got, precision) ok(fabs((expected) - (got)) <= (precision), "Expected %f, got %f\n", (expected), (got)) #define expectf(expected, got) expectf_((expected), (got), 0.001) -#define TABLE_LEN (23) static const REAL mm_per_inch = 25.4; static const REAL point_per_inch = 72.0; @@ -3776,6 +3775,7 @@ hdc = CreateCompatibleDC(0); status = GdipCreateFromHDC(hdc, &graphics); + expect(Ok, status); status = GdipGetDpiY(graphics, &dpi); expect(Ok, status); @@ -5552,6 +5552,61 @@ GdipDeleteGraphics(graphics); ReleaseDC(hwnd, hdc); +} + +static void test_GdipGetVisibleClipBounds_memoryDC(void) +{ + HDC hdc,dc; + HBITMAP bmp; + HGDIOBJ old; + RECT rect; + POINT pt; + int width = 0; + int height = 0; + GpGraphics* graphics = NULL; + GpRect boundRect; + GpStatus status; + + ok(GetClientRect(hwnd, &rect), "GetClientRect should have succeeded\n"); + width = rect.right - rect.left; + height = rect.bottom - rect.top; + + dc = GetDC(hwnd); + hdc = CreateCompatibleDC ( dc ); + bmp = CreateCompatibleBitmap ( dc, width, height ); + old = SelectObject (hdc, bmp); + + /*change the window origin is the key test point*/ + SetWindowOrgEx (hdc, rect.left+10, rect.top+10, &pt); + + status = GdipCreateFromHDC(hdc, &graphics); + expect(Ok, status); + + status = GdipGetVisibleClipBoundsI(graphics, &boundRect); + expect(Ok, status); + + ok(boundRect.X==rect.left+10 && + boundRect.Y==rect.top+10 && + boundRect.Width==width && + boundRect.Height==height, "Expected GdipGetVisibleClipBoundsI ok\n"); + + status = GdipSetClipRectI(graphics, 0, 0, width, height, CombineModeReplace); + expect(Ok, status); + + status = GdipGetVisibleClipBoundsI(graphics, &boundRect); + expect(Ok, status); + + ok(boundRect.X==rect.left+10 && + boundRect.Y==rect.top+10 && + boundRect.Width==width-10 && + boundRect.Height==height-10, "Expected GdipGetVisibleClipBoundsI ok\n"); + + GdipDeleteGraphics(graphics); + + SelectObject (hdc, old); + DeleteObject (bmp); + DeleteDC (hdc); + ReleaseDC(hwnd, dc); } START_TEST(graphics) @@ -5625,6 +5680,7 @@ test_alpha_hdc(); test_bitmapfromgraphics(); test_GdipFillRectangles(); + test_GdipGetVisibleClipBounds_memoryDC(); GdiplusShutdown(gdiplusToken); DestroyWindow( hwnd ); Modified: trunk/rostests/winetests/gdiplus/image.c URL:
http://svn.reactos.org/svn/reactos/trunk/rostests/winetests/gdiplus/image.c…
============================================================================== --- trunk/rostests/winetests/gdiplus/image.c [iso-8859-1] (original) +++ trunk/rostests/winetests/gdiplus/image.c [iso-8859-1] Wed Mar 25 11:51:58 2015 @@ -1703,6 +1703,10 @@ stat = GdipDisposeImage((GpImage*)bitmap); expect(Ok, stat); + /* make (1,0) have no alpha and (2,0) a different blue value. */ + bits[7] = 0x00; + bits[8] = 0x40; + /* create alpha Bitmap */ stat = GdipCreateBitmapFromScan0(8, 20, 32, PixelFormat32bppARGB, bits, &bitmap); expect(Ok, stat); @@ -1728,18 +1732,103 @@ { DWORD val = *(DWORD*)bm.bmBits; ok(val == 0x682a2a2a, "got %x, expected 0x682a2a2a\n", val); + val = *((DWORD*)bm.bmBits + (bm.bmHeight-1) * bm.bmWidthBytes/4 + 1); + ok(val == 0x0, "got %x, expected 0x682a2a2a\n", val); } hdc = CreateCompatibleDC(NULL); oldhbitmap = SelectObject(hdc, hbitmap); pixel = GetPixel(hdc, 5, 5); + expect(0x2a2a2a, pixel); + pixel = GetPixel(hdc, 1, 0); + expect(0x0, pixel); + SelectObject(hdc, oldhbitmap); DeleteDC(hdc); - expect(0x2a2a2a, pixel); - + + DeleteObject(hbitmap); + } + + /* create HBITMAP with bkgnd colour */ + stat = GdipCreateHBITMAPFromBitmap(bitmap, &hbitmap, 0xff00ff); + expect(Ok, stat); + + if (stat == Ok) + { + ret = GetObjectA(hbitmap, sizeof(BITMAP), &bm); + expect(sizeof(BITMAP), ret); + + expect(0, bm.bmType); + expect(8, bm.bmWidth); + expect(20, bm.bmHeight); + expect(32, bm.bmWidthBytes); + expect(1, bm.bmPlanes); + expect(32, bm.bmBitsPixel); + ok(bm.bmBits != NULL, "got DDB, expected DIB\n"); + + if (bm.bmBits) + { + DWORD val = *(DWORD*)bm.bmBits; + ok(val == 0x68c12ac1, "got %x, expected 0x682a2a2a\n", val); + val = *((DWORD*)bm.bmBits + (bm.bmHeight-1) * bm.bmWidthBytes/4 + 1); + ok(val == 0xff00ff, "got %x, expected 0x682a2a2a\n", val); + } + + hdc = CreateCompatibleDC(NULL); + + oldhbitmap = SelectObject(hdc, hbitmap); + pixel = GetPixel(hdc, 5, 5); + expect(0xc12ac1, pixel); + pixel = GetPixel(hdc, 1, 0); + expect(0xff00ff, pixel); + pixel = GetPixel(hdc, 2, 0); + expect(0xb12ac1, pixel); + + SelectObject(hdc, oldhbitmap); + DeleteDC(hdc); + DeleteObject(hbitmap); + } + + /* create HBITMAP with bkgnd colour with alpha and show it behaves with no alpha. */ + stat = GdipCreateHBITMAPFromBitmap(bitmap, &hbitmap, 0x80ff00ff); + expect(Ok, stat); + + if (stat == Ok) + { + ret = GetObjectA(hbitmap, sizeof(BITMAP), &bm); + expect(sizeof(BITMAP), ret); + + expect(0, bm.bmType); + expect(8, bm.bmWidth); + expect(20, bm.bmHeight); + expect(32, bm.bmWidthBytes); + expect(1, bm.bmPlanes); + expect(32, bm.bmBitsPixel); + ok(bm.bmBits != NULL, "got DDB, expected DIB\n"); + + if (bm.bmBits) + { + DWORD val = *(DWORD*)bm.bmBits; + ok(val == 0x68c12ac1, "got %x, expected 0x682a2a2a\n", val); + val = *((DWORD*)bm.bmBits + (bm.bmHeight-1) * bm.bmWidthBytes/4 + 1); + ok(val == 0xff00ff, "got %x, expected 0x682a2a2a\n", val); + } + + hdc = CreateCompatibleDC(NULL); + + oldhbitmap = SelectObject(hdc, hbitmap); + pixel = GetPixel(hdc, 5, 5); + expect(0xc12ac1, pixel); + pixel = GetPixel(hdc, 1, 0); + expect(0xff00ff, pixel); + pixel = GetPixel(hdc, 2, 0); + expect(0xb12ac1, pixel); + + SelectObject(hdc, oldhbitmap); + DeleteDC(hdc); DeleteObject(hbitmap); } Modified: trunk/rostests/winetests/gdiplus/region.c URL:
http://svn.reactos.org/svn/reactos/trunk/rostests/winetests/gdiplus/region.…
============================================================================== --- trunk/rostests/winetests/gdiplus/region.c [iso-8859-1] (original) +++ trunk/rostests/winetests/gdiplus/region.c [iso-8859-1] Wed Mar 25 11:51:58 2015 @@ -107,6 +107,56 @@ rgn.data.rdh.rcBound.left, rgn.data.rdh.rcBound.top, rgn.data.rdh.rcBound.right, rgn.data.rdh.rcBound.bottom); } +static void test_region_data(DWORD *data, UINT size, INT line) +{ + GpStatus status; + GpRegion *region; + DWORD buf[256]; + UINT needed, i; + + status = GdipCreateRegionRgnData((BYTE *)data, size, ®ion); + /* Windows always fails to create an empty path in a region */ + if (data[4] == RGNDATA_PATH) + { + struct _path_header + { + DWORD size; + DWORD magic; + DWORD count; + DWORD flags; + } *path_header = (struct _path_header *)(data + 5); + if (!path_header->count) + { + ok_(__FILE__, line)(status == GenericError, "expected GenericError, got %d\n", status); + return; + } + } + + ok_(__FILE__, line)(status == Ok, "GdipCreateRegionRgnData error %d\n", status); + if (status != Ok) return; + + needed = 0; + status = GdipGetRegionDataSize(region, &needed); + ok_(__FILE__, line)(status == Ok, "status %d\n", status); + ok_(__FILE__, line)(needed == size, "data size mismatch: %u != %u\n", needed, size); + + memset(buf, 0xee, sizeof(buf)); + needed = 0; + status = GdipGetRegionData(region, (BYTE *)buf, sizeof(buf), &needed); + ok_(__FILE__, line)(status == Ok, "status %08x\n", status); + ok_(__FILE__, line)(needed == size, "data size mismatch: %u != %u\n", needed, size); + + size /= sizeof(DWORD); + for (i = 0; i < size - 1; i++) + { + if (i == 1) continue; /* data[1] never matches */ + ok_(__FILE__, line)(data[i] == buf[i], "off %u: %#x != %#x\n", i, data[i], buf[i]); + } + /* some Windows versions fail to properly clear the aligned DWORD */ + ok_(__FILE__, line)(data[size - 1] == buf[size - 1] || broken(data[size - 1] != buf[size - 1]), + "off %u: %#x != %#x\n", size - 1, data[size - 1], buf[size - 1]); +} + static void test_getregiondata(void) { GpStatus status; @@ -148,6 +198,7 @@ expect_dword(buf + 3, 0); expect_dword(buf + 4, RGNDATA_INFINITE_RECT); expect_dword(buf + 6, 0xeeeeeeee); + test_region_data(buf, needed, __LINE__); status = GdipSetEmpty(region); ok(status == Ok, "status %08x\n", status); @@ -165,6 +216,7 @@ expect_dword(buf + 3, 0); expect_dword(buf + 4, RGNDATA_EMPTY_RECT); expect_dword(buf + 6, 0xeeeeeeee); + test_region_data(buf, needed, __LINE__); status = GdipSetInfinite(region); ok(status == Ok, "status %08x\n", status); @@ -182,6 +234,7 @@ expect_dword(buf + 3, 0); expect_dword(buf + 4, RGNDATA_INFINITE_RECT); expect_dword(buf + 6, 0xeeeeeeee); + test_region_data(buf, needed, __LINE__); status = GdipDeleteRegion(region); ok(status == Ok, "status %08x\n", status); @@ -210,6 +263,7 @@ expect_float(buf + 7, 100.0); expect_float(buf + 8, 200.0); expect_dword(buf + 10, 0xeeeeeeee); + test_region_data(buf, needed, __LINE__); rect.X = 50; rect.Y = 30; @@ -295,6 +349,7 @@ expect_float(buf + 37, 22.0); expect_float(buf + 38, 55.0); expect_dword(buf + 39, 0xeeeeeeee); + test_region_data(buf, needed, __LINE__); status = GdipDeleteRegion(region2); ok(status == Ok, "status %08x\n", status); @@ -336,6 +391,7 @@ expect_float(buf + 16, 28.0); expect_dword(buf + 17, 0x81010100); expect_dword(buf + 18, 0xeeeeeeee); + test_region_data(buf, needed, __LINE__); rect.X = 50; rect.Y = 30; @@ -376,6 +432,7 @@ expect_float(buf + 22, 10.0); expect_float(buf + 23, 20.0); expect_dword(buf + 24, 0xeeeeeeee); + test_region_data(buf, needed, __LINE__); status = GdipDeleteRegion(region); ok(status == Ok, "status %08x\n", status); @@ -408,6 +465,7 @@ ok(*(buf + 8) == 0x4000 /* before win7 */ || *(buf + 8) == 0, "expected 0x4000 or 0, got %08x\n", *(buf + 8)); expect_dword(buf + 10, 0xeeeeeeee); + test_region_data(buf, needed, __LINE__); /* Transform an empty region */ status = GdipCreateMatrix(&matrix); @@ -458,6 +516,7 @@ expect(6, point[3].Y); expect_dword(buf + 13, 0x81010100); /* 0x01010100 if we don't close the path */ expect_dword(buf + 14, 0xeeeeeeee); + test_region_data(buf, needed, __LINE__); status = GdipTranslateRegion(region, 0.6, 0.8); expect(Ok, status); @@ -485,6 +544,7 @@ expect_float(buf + 16, 6.8); expect_dword(buf + 17, 0x81010100); /* 0x01010100 if we don't close the path */ expect_dword(buf + 18, 0xeeeeeeee); + test_region_data(buf, needed, __LINE__); status = GdipDeletePath(path); expect(Ok, status); @@ -527,6 +587,7 @@ expect_float(buf + 16, 6.2); expect_dword(buf + 17, 0x01010100); expect_dword(buf + 18, 0xeeeeeeee); + test_region_data(buf, needed, __LINE__); status = GdipDeletePath(path); expect(Ok, status); @@ -589,6 +650,7 @@ ok(*(buf + 28) == 0x00000101 || *(buf + 28) == 0x43050101 /* Win 7 */, "expected 00000101 or 43050101 got %08x\n", *(buf + 28)); expect_dword(buf + 29, 0xeeeeeeee); + test_region_data(buf, needed, __LINE__); status = GdipDeletePath(path); expect(Ok, status); @@ -632,6 +694,7 @@ expect(23, point[3].Y); expect_dword(buf + 13, 0x81010100); /* 0x01010100 if we don't close the path */ expect_dword(buf + 14, 0xeeeeeeee); + test_region_data(buf, needed, __LINE__); status = GdipDeletePath(path); expect(Ok, status); @@ -674,6 +737,7 @@ expect_float(buf + 16, 2300.0); expect_dword(buf + 17, 0x81010100); /* 0x01010100 if we don't close the path */ expect_dword(buf + 18, 0xeeeeeeee); + test_region_data(buf, needed, __LINE__); status = GdipDeletePath(path); expect(Ok, status); @@ -737,6 +801,7 @@ *(buf + 33) == 0x43030303 /* 32-bit win7 */ || *(buf + 33) == 0x4c030303 /* 64-bit win7 */, "expected 0x00030303 or 0x43030303 or 0x4c030303 got %08x\n", *(buf + 33)); expect_dword(buf + 34, 0xeeeeeeee); + test_region_data(buf, needed, __LINE__); status = GdipDeletePath(path); expect(Ok, status);
9 years, 9 months
1
0
0
0
[hbelusca] 66868: Fix build.
by hbelusca@svn.reactos.org
Author: hbelusca Date: Wed Mar 25 00:09:09 2015 New Revision: 66868 URL:
http://svn.reactos.org/svn/reactos?rev=66868&view=rev
Log: Fix build. Modified: trunk/reactos/win32ss/user/winsrv/CMakeLists.txt Modified: trunk/reactos/win32ss/user/winsrv/CMakeLists.txt URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/win32ss/user/winsrv/CMakeL…
============================================================================== --- trunk/reactos/win32ss/user/winsrv/CMakeLists.txt [iso-8859-1] (original) +++ trunk/reactos/win32ss/user/winsrv/CMakeLists.txt [iso-8859-1] Wed Mar 25 00:09:09 2015 @@ -1,3 +1,6 @@ + +# Console Configuration library +add_subdirectory(concfg) include_directories( ${REACTOS_SOURCE_DIR}/include/reactos/subsys @@ -24,9 +27,9 @@ # Add the components target_link_libraries(winsrv consrv usersrv) # Add win32ksys because of NtUser...() -target_link_libraries(winsrv win32ksys libcntpr ${PSEH_LIB} ${CONSRV_TARGET_LINK_LIBS}) +target_link_libraries(winsrv ${CONSRV_TARGET_LINK_LIBS} win32ksys libcntpr ${PSEH_LIB}) -add_delay_importlibs(winsrv advapi32 ${CONSRV_DELAY_IMPORT_LIBS}) -add_importlibs(winsrv csrsrv gdi32 user32 kernel32 ntdll ${CONSRV_IMPORT_LIBS} ${USERSRV_IMPORT_LIBS}) +add_delay_importlibs(winsrv ${CONSRV_DELAY_IMPORT_LIBS} advapi32) +add_importlibs(winsrv ${CONSRV_IMPORT_LIBS} ${USERSRV_IMPORT_LIBS} csrsrv gdi32 user32 kernel32 ntdll) add_dependencies(winsrv bugcodes) add_cd_file(TARGET winsrv DESTINATION reactos/system32 FOR all)
9 years, 9 months
1
0
0
0
[hbelusca] 66867: [CONSRV] - Introduce a "console configuration" library that is used by both CONSRV and the console properties applet so that they can share common code concerning getting/setting ...
by hbelusca@svn.reactos.org
Author: hbelusca Date: Tue Mar 24 23:58:44 2015 New Revision: 66867 URL:
http://svn.reactos.org/svn/reactos?rev=66867&view=rev
Log: [CONSRV] - Introduce a "console configuration" library that is used by both CONSRV and the console properties applet so that they can share common code concerning getting/setting console registry properties. - Make use of the Windows-compatible (and undocumented) CONSOLE_STATE_INFO structure for that purpose (as well as the WM_SETCONSOLEINFO): see commits r63819 and r58415 and links within for more details. Note: this structure needs to be 4-byte packed (contrary to what it is said in almost all the links from above. The difference is only visible at the level of the last member that is the ConsoleTitle string array. This was tested on windows). - Simplify some parts of console settings initialization. - Some work is still needed concerning how to correctly retrieve the default console settings (without touching the ConsoleTitle member of CONSOLE_STATE_INFO, contrary to what we do currently). [CONSOLE.DLL] - Make the console properties applet windows-compatible, in the sense that you can now run it on win2k3 and use it instead of the windows one. This implies having the same strange hacks as windows' one, namely, that the window handle parameter of the CPlApplet entry point is either used as the caller (parent) window handle, OR, as a shared section handle to shared data with CONSRV. [KERNEL32] - Rework the console applet initialization accordingly. Also we reload each time the console.dll when opening the console applet, and then unload it: this "allows" to reset all the global variables that console.dll may (and does) have. Added: trunk/reactos/win32ss/user/winsrv/concfg/ trunk/reactos/win32ss/user/winsrv/concfg/CMakeLists.txt (with props) trunk/reactos/win32ss/user/winsrv/concfg/settings.c - copied, changed from r66665, trunk/reactos/win32ss/user/winsrv/consrv/settings.c trunk/reactos/win32ss/user/winsrv/concfg/settings.h - copied, changed from r66665, trunk/reactos/win32ss/user/winsrv/consrv/include/settings.h Removed: trunk/reactos/win32ss/user/winsrv/consrv/frontends/gui/consolecpl.h Modified: trunk/reactos/dll/cpl/console/CMakeLists.txt trunk/reactos/dll/cpl/console/colors.c trunk/reactos/dll/cpl/console/console.c trunk/reactos/dll/cpl/console/console.h trunk/reactos/dll/cpl/console/font.c trunk/reactos/dll/cpl/console/lang/fr-FR.rc trunk/reactos/dll/cpl/console/layout.c trunk/reactos/dll/cpl/console/options.c trunk/reactos/dll/win32/kernel32/client/console/init.c trunk/reactos/win32ss/user/winsrv/consrv.cmake trunk/reactos/win32ss/user/winsrv/consrv/condrv/console.c trunk/reactos/win32ss/user/winsrv/consrv/console.c trunk/reactos/win32ss/user/winsrv/consrv/frontends/gui/conwnd.c trunk/reactos/win32ss/user/winsrv/consrv/frontends/gui/guisettings.c trunk/reactos/win32ss/user/winsrv/consrv/frontends/gui/guisettings.h trunk/reactos/win32ss/user/winsrv/consrv/frontends/gui/guiterm.c trunk/reactos/win32ss/user/winsrv/consrv/frontends/terminal.c trunk/reactos/win32ss/user/winsrv/consrv/frontends/tui/tuiterm.c trunk/reactos/win32ss/user/winsrv/consrv/include/conio.h trunk/reactos/win32ss/user/winsrv/consrv/include/conio_winsrv.h trunk/reactos/win32ss/user/winsrv/consrv/include/console.h trunk/reactos/win32ss/user/winsrv/consrv/include/settings.h trunk/reactos/win32ss/user/winsrv/consrv/settings.c [This mail would be too long, it was shortened to contain the URLs only.] Modified: trunk/reactos/dll/cpl/console/CMakeLists.txt URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/cpl/console/CMakeLists…
Modified: trunk/reactos/dll/cpl/console/colors.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/cpl/console/colors.c?r…
Modified: trunk/reactos/dll/cpl/console/console.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/cpl/console/console.c?…
Modified: trunk/reactos/dll/cpl/console/console.h URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/cpl/console/console.h?…
Modified: trunk/reactos/dll/cpl/console/font.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/cpl/console/font.c?rev…
Modified: trunk/reactos/dll/cpl/console/lang/fr-FR.rc URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/cpl/console/lang/fr-FR…
Modified: trunk/reactos/dll/cpl/console/layout.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/cpl/console/layout.c?r…
Modified: trunk/reactos/dll/cpl/console/options.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/cpl/console/options.c?…
Modified: trunk/reactos/dll/win32/kernel32/client/console/init.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/kernel32/client/…
Added: trunk/reactos/win32ss/user/winsrv/concfg/CMakeLists.txt URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/win32ss/user/winsrv/concfg…
Copied: trunk/reactos/win32ss/user/winsrv/concfg/settings.c (from r66665, trunk/reactos/win32ss/user/winsrv/consrv/settings.c) URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/win32ss/user/winsrv/concfg…
Copied: trunk/reactos/win32ss/user/winsrv/concfg/settings.h (from r66665, trunk/reactos/win32ss/user/winsrv/consrv/include/settings.h) URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/win32ss/user/winsrv/concfg…
Modified: trunk/reactos/win32ss/user/winsrv/consrv.cmake URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/win32ss/user/winsrv/consrv…
Modified: trunk/reactos/win32ss/user/winsrv/consrv/condrv/console.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/win32ss/user/winsrv/consrv…
Modified: trunk/reactos/win32ss/user/winsrv/consrv/console.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/win32ss/user/winsrv/consrv…
Removed: trunk/reactos/win32ss/user/winsrv/consrv/frontends/gui/consolecpl.h URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/win32ss/user/winsrv/consrv…
Modified: trunk/reactos/win32ss/user/winsrv/consrv/frontends/gui/conwnd.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/win32ss/user/winsrv/consrv…
Modified: trunk/reactos/win32ss/user/winsrv/consrv/frontends/gui/guisettings.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/win32ss/user/winsrv/consrv…
Modified: trunk/reactos/win32ss/user/winsrv/consrv/frontends/gui/guisettings.h URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/win32ss/user/winsrv/consrv…
Modified: trunk/reactos/win32ss/user/winsrv/consrv/frontends/gui/guiterm.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/win32ss/user/winsrv/consrv…
Modified: trunk/reactos/win32ss/user/winsrv/consrv/frontends/terminal.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/win32ss/user/winsrv/consrv…
Modified: trunk/reactos/win32ss/user/winsrv/consrv/frontends/tui/tuiterm.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/win32ss/user/winsrv/consrv…
Modified: trunk/reactos/win32ss/user/winsrv/consrv/include/conio.h URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/win32ss/user/winsrv/consrv…
Modified: trunk/reactos/win32ss/user/winsrv/consrv/include/conio_winsrv.h URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/win32ss/user/winsrv/consrv…
Modified: trunk/reactos/win32ss/user/winsrv/consrv/include/console.h URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/win32ss/user/winsrv/consrv…
Modified: trunk/reactos/win32ss/user/winsrv/consrv/include/settings.h URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/win32ss/user/winsrv/consrv…
Modified: trunk/reactos/win32ss/user/winsrv/consrv/settings.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/win32ss/user/winsrv/consrv…
9 years, 9 months
1
0
0
0
[hbelusca] 66866: [NTOS]: Don't hardcode the size of the ShutDownWaitEntry and use the correct pool tags when freeing the entry.
by hbelusca@svn.reactos.org
Author: hbelusca Date: Tue Mar 24 00:19:43 2015 New Revision: 66866 URL:
http://svn.reactos.org/svn/reactos?rev=66866&view=rev
Log: [NTOS]: Don't hardcode the size of the ShutDownWaitEntry and use the correct pool tags when freeing the entry. Modified: trunk/reactos/ntoskrnl/po/poshtdwn.c Modified: trunk/reactos/ntoskrnl/po/poshtdwn.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/ntoskrnl/po/poshtdwn.c?rev…
============================================================================== --- trunk/reactos/ntoskrnl/po/poshtdwn.c [iso-8859-1] (original) +++ trunk/reactos/ntoskrnl/po/poshtdwn.c [iso-8859-1] Tue Mar 24 00:19:43 2015 @@ -57,7 +57,7 @@ PAGED_CODE(); /* Allocate a new shutdown wait entry */ - ShutDownWaitEntry = ExAllocatePoolWithTag(PagedPool, 8u, 'LSoP'); + ShutDownWaitEntry = ExAllocatePoolWithTag(PagedPool, sizeof(*ShutDownWaitEntry), 'LSoP'); if (ShutDownWaitEntry == NULL) { return STATUS_NO_MEMORY; @@ -84,7 +84,7 @@ { /* We cannot proceed, cleanup and return failure */ ObDereferenceObject(Thread); - ExFreePoolWithTag(ShutDownWaitEntry, 0); + ExFreePoolWithTag(ShutDownWaitEntry, 'LSoP'); Status = STATUS_UNSUCCESSFUL; } @@ -138,7 +138,7 @@ ObfDereferenceObject(ShutDownWaitEntry->Thread); /* Finally free the entry */ - ExFreePoolWithTag(ShutDownWaitEntry, 0); + ExFreePoolWithTag(ShutDownWaitEntry, 'LSoP'); } }
9 years, 9 months
1
0
0
0
[ekohl] 66865: [NETAPI32] Implement NetWkstaTransportAdd, NetWkstaTransportDel and NetWkstaTransportEnum.
by ekohl@svn.reactos.org
Author: ekohl Date: Mon Mar 23 21:47:50 2015 New Revision: 66865 URL:
http://svn.reactos.org/svn/reactos?rev=66865&view=rev
Log: [NETAPI32] Implement NetWkstaTransportAdd, NetWkstaTransportDel and NetWkstaTransportEnum. Modified: trunk/reactos/dll/win32/netapi32/netapi32.spec trunk/reactos/dll/win32/netapi32/wksta.c trunk/reactos/dll/win32/netapi32/wksta_new.c Modified: trunk/reactos/dll/win32/netapi32/netapi32.spec URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/netapi32/netapi3…
============================================================================== --- trunk/reactos/dll/win32/netapi32/netapi32.spec [iso-8859-1] (original) +++ trunk/reactos/dll/win32/netapi32/netapi32.spec [iso-8859-1] Mon Mar 23 21:47:50 2015 @@ -255,8 +255,8 @@ @ stub NetValidatePasswordPolicyFree @ stdcall NetWkstaGetInfo(wstr long ptr) @ stdcall NetWkstaSetInfo(wstr long ptr ptr) -@ stub NetWkstaTransportAdd -@ stub NetWkstaTransportDel +@ stdcall NetWkstaTransportAdd(wstr long ptr ptr) +@ stdcall NetWkstaTransportDel(wstr wstr long) @ stdcall NetWkstaTransportEnum(wstr long ptr long ptr ptr ptr) @ stdcall NetWkstaUserEnum(wstr long ptr long ptr ptr ptr) @ stdcall NetWkstaUserGetInfo(wstr long ptr) Modified: trunk/reactos/dll/win32/netapi32/wksta.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/netapi32/wksta.c…
============================================================================== --- trunk/reactos/dll/win32/netapi32/wksta.c [iso-8859-1] (original) +++ trunk/reactos/dll/win32/netapi32/wksta.c [iso-8859-1] Mon Mar 23 21:47:50 2015 @@ -43,6 +43,7 @@ return ret && !strcmpiW( name, buf ); } +#if 0 static void wprint_mac(WCHAR* buffer, int len, const MIB_IFROW *ifRow) { int i; @@ -72,6 +73,7 @@ } buffer[2*i]=0; } +#endif /* Theoretically this could be too short, except that MS defines * MAX_ADAPTER_NAME as 128, and MAX_INTERFACE_NAME_LEN as 256, and both @@ -84,6 +86,7 @@ #define NBT_TRANSPORT_NAME_HEADER "\\Device\\NetBT_Tcpip_" #define UNKNOWN_TRANSPORT_NAME_HEADER "\\Device\\UnknownTransport_" +#if 0 static void wprint_name(WCHAR *buffer, int len, ULONG transport, PMIB_IFROW ifRow) { @@ -109,6 +112,7 @@ *ptr1 = *ptr2; *ptr1 = '\0'; } +#endif /*********************************************************************** * NetWkstaTransportEnum (NETAPI32.@) @@ -125,6 +129,7 @@ /**********************************************************************/ +#if 0 static BOOL WkstaEnumAdaptersCallback(UCHAR totalLANAs, UCHAR lanaIndex, ULONG transport, const NetBIOSAdapterImpl *data, void *closure) { @@ -214,9 +219,11 @@ ret = FALSE; return ret; } +#endif /**********************************************************************/ +#if 0 NET_API_STATUS WINAPI NetWkstaTransportEnum(LMSTR ServerName, DWORD level, PBYTE* pbuf, DWORD prefmaxlen, LPDWORD read_entries, @@ -271,6 +278,7 @@ } return ret; } +#endif /************************************************************ Modified: trunk/reactos/dll/win32/netapi32/wksta_new.c URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/netapi32/wksta_n…
============================================================================== --- trunk/reactos/dll/win32/netapi32/wksta_new.c [iso-8859-1] (original) +++ trunk/reactos/dll/win32/netapi32/wksta_new.c [iso-8859-1] Mon Mar 23 21:47:50 2015 @@ -404,8 +404,125 @@ NET_API_STATUS WINAPI +NetWkstaTransportAdd( + LPWSTR servername, + DWORD level, + LPBYTE buf, + LPDWORD parm_err) +{ + NET_API_STATUS status; + + TRACE("NetWkstaTransportAdd(%s, %d, %p, %p)\n", debugstr_w(servername), + level, buf, parm_err); + + RpcTryExcept + { + status = NetrWkstaTransportAdd(servername, + level, + (LPWKSTA_TRANSPORT_INFO_0)buf, + parm_err); + } + RpcExcept(EXCEPTION_EXECUTE_HANDLER) + { + status = I_RpcMapWin32Status(RpcExceptionCode()); + } + RpcEndExcept; + + return status; +} + + +NET_API_STATUS +WINAPI +NetWkstaTransportDel( + LPWSTR servername, + LPWSTR transportname, + DWORD ucond) +{ + NET_API_STATUS status; + + TRACE("NetWkstaTransportDel(%s, %s, %d)\n", debugstr_w(servername), + debugstr_w(transportname), ucond); + + RpcTryExcept + { + status = NetrWkstaTransportDel(servername, + transportname, + ucond); + } + RpcExcept(EXCEPTION_EXECUTE_HANDLER) + { + status = I_RpcMapWin32Status(RpcExceptionCode()); + } + RpcEndExcept; + + return status; +} + + +NET_API_STATUS +WINAPI +NetWkstaTransportEnum( + LPWSTR servername, + DWORD level, + LPBYTE *bufptr, + DWORD prefmaxlen, + LPDWORD entriesread, + LPDWORD totalentries, + LPDWORD resumehandle) +{ + WKSTA_TRANSPORT_ENUM_STRUCT TransportEnumInfo; + WKSTA_TRANSPORT_INFO_0_CONTAINER Container0; + NET_API_STATUS status; + + TRACE("NetWkstaTransportEnum(%s, %d, %p, %d, %p, %p, %p)\n", debugstr_w(servername), + level, bufptr, prefmaxlen, entriesread, totalentries, resumehandle); + + TransportEnumInfo.Level = level; + switch (level) + { + case 0: + TransportEnumInfo.WkstaTransportInfo.Level0 = &Container0; + Container0.EntriesRead = 0; + Container0.Buffer = NULL; + break; + + default: + return ERROR_INVALID_PARAMETER; + } + + RpcTryExcept + { + status = NetrWkstaTransportEnum(servername, + &TransportEnumInfo, + prefmaxlen, + totalentries, + resumehandle); + if (status == NERR_Success || status == ERROR_MORE_DATA) + { + switch (level) + { + case 0: + *bufptr = (LPBYTE)TransportEnumInfo.WkstaTransportInfo.Level0->Buffer; + *entriesread = TransportEnumInfo.WkstaTransportInfo.Level0->EntriesRead; + break; + } + } + } + RpcExcept(EXCEPTION_EXECUTE_HANDLER) + { + status = I_RpcMapWin32Status(RpcExceptionCode()); + } + RpcEndExcept; + + return status; +} + + +NET_API_STATUS +WINAPI NetWkstaUserEnum( - LMSTR servername, + LPWSTR servername, DWORD level, LPBYTE *bufptr, DWORD prefmaxlen,
9 years, 9 months
1
0
0
0
[khornicek] 66864: [GDI32] - export GdiGetBitmapBitsSize
by khornicek@svn.reactos.org
Author: khornicek Date: Mon Mar 23 13:25:16 2015 New Revision: 66864 URL:
http://svn.reactos.org/svn/reactos?rev=66864&view=rev
Log: [GDI32] - export GdiGetBitmapBitsSize Modified: trunk/reactos/win32ss/gdi/gdi32/gdi32.spec Modified: trunk/reactos/win32ss/gdi/gdi32/gdi32.spec URL:
http://svn.reactos.org/svn/reactos/trunk/reactos/win32ss/gdi/gdi32/gdi32.sp…
============================================================================== --- trunk/reactos/win32ss/gdi/gdi32/gdi32.spec [iso-8859-1] (original) +++ trunk/reactos/win32ss/gdi/gdi32/gdi32.spec [iso-8859-1] Mon Mar 23 13:25:16 2015 @@ -283,6 +283,7 @@ @ stdcall GdiFixUpHandle(ptr) @ stdcall GdiFlush() @ stdcall GdiFullscreenControl(ptr ptr long ptr ptr) NtGdiFullscreenControl +@ stdcall GdiGetBitmapBitsSize(ptr) @ stdcall GdiGetBatchLimit() @ stdcall GdiGetCharDimensions(long ptr ptr) @ stdcall GdiGetCodePage(long)
9 years, 9 months
1
0
0
0
← Newer
1
...
11
12
13
14
15
16
17
...
50
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
Results per page:
10
25
50
100
200