Author: akhaldi Date: Sat Mar 5 10:36:27 2016 New Revision: 70943
URL: http://svn.reactos.org/svn/reactos?rev=70943&view=rev Log: [WBEMDISP] Sync with Wine Staging 1.9.4. CORE-10912
Modified: trunk/reactos/dll/win32/wbemdisp/locator.c trunk/reactos/media/doc/README.WINE
Modified: trunk/reactos/dll/win32/wbemdisp/locator.c URL: http://svn.reactos.org/svn/reactos/trunk/reactos/dll/win32/wbemdisp/locator.... ============================================================================== --- trunk/reactos/dll/win32/wbemdisp/locator.c [iso-8859-1] (original) +++ trunk/reactos/dll/win32/wbemdisp/locator.c [iso-8859-1] Sat Mar 5 10:36:27 2016 @@ -343,6 +343,7 @@ ISWbemObjectSet ISWbemObjectSet_iface; LONG refs; IEnumWbemClassObject *objectenum; + LONG count; };
static inline struct objectset *impl_from_ISWbemObjectSet( @@ -504,20 +505,10 @@ LONG *iCount ) { struct objectset *objectset = impl_from_ISWbemObjectSet( iface ); - LONG count = 0, total = 0;
TRACE( "%p, %p\n", objectset, iCount );
- while (IEnumWbemClassObject_Skip( objectset->objectenum, WBEM_INFINITE, 1 ) == S_OK) count++; - - IEnumWbemClassObject_Reset( objectset->objectenum ); - while (IEnumWbemClassObject_Skip( objectset->objectenum, WBEM_INFINITE, 1 ) == S_OK) total++; - - count = total - count; - IEnumWbemClassObject_Reset( objectset->objectenum ); - while (count--) IEnumWbemClassObject_Skip( objectset->objectenum, WBEM_INFINITE, 1 ); - - *iCount = total; + *iCount = objectset->count; return S_OK; }
@@ -554,6 +545,14 @@ objectset_ItemIndex };
+static LONG get_object_count( IEnumWbemClassObject *iter ) +{ + LONG count = 0; + while (IEnumWbemClassObject_Skip( iter, WBEM_INFINITE, 1 ) == S_OK) count++; + IEnumWbemClassObject_Reset( iter ); + return count; +} + static HRESULT SWbemObjectSet_create( IEnumWbemClassObject *wbem_objectenum, ISWbemObjectSet **obj ) { struct objectset *objectset; @@ -565,6 +564,7 @@ objectset->refs = 1; objectset->objectenum = wbem_objectenum; IEnumWbemClassObject_AddRef( objectset->objectenum ); + objectset->count = get_object_count( objectset->objectenum );
*obj = &objectset->ISWbemObjectSet_iface; TRACE( "returning iface %p\n", *obj );
Modified: trunk/reactos/media/doc/README.WINE URL: http://svn.reactos.org/svn/reactos/trunk/reactos/media/doc/README.WINE?rev=7... ============================================================================== --- trunk/reactos/media/doc/README.WINE [iso-8859-1] (original) +++ trunk/reactos/media/doc/README.WINE [iso-8859-1] Sat Mar 5 10:36:27 2016 @@ -198,7 +198,7 @@ reactos/dll/win32/vbscript # Synced to WineStaging-1.7.55 reactos/dll/win32/version # Synced to WineStaging-1.9.4 reactos/dll/win32/vssapi # Synced to WineStaging-1.7.55 -reactos/dll/win32/wbemdisp # Synced to WineStaging-1.7.55 +reactos/dll/win32/wbemdisp # Synced to WineStaging-1.9.4 reactos/dll/win32/wbemprox # Synced to WineStaging-1.7.55 reactos/dll/win32/windowscodecs # Synced to WineStaging-1.7.55 reactos/dll/win32/windowscodecsext # Synced to WineStaging-1.7.55