[2/5] wbemprox: Fill tables at latest possible moment.

Hans Leidekker hans at codeweavers.com
Wed May 22 03:07:26 CDT 2013


---
 dlls/wbemprox/query.c |    4 +++-
 dlls/wbemprox/table.c |    1 -
 2 files changed, 3 insertions(+), 2 deletions(-)

diff --git a/dlls/wbemprox/query.c b/dlls/wbemprox/query.c
index 1850368..8ac42cc 100644
--- a/dlls/wbemprox/query.c
+++ b/dlls/wbemprox/query.c
@@ -245,7 +245,9 @@ static HRESULT execute_view( struct view *view )
 {
     UINT i, j = 0, len;
 
-    if (!view->table || !view->table->num_rows) return S_OK;
+    if (!view->table) return S_OK;
+    if (view->table->fill && !view->table->data) view->table->fill( view->table );
+    if (!view->table->num_rows) return S_OK;
 
     len = min( view->table->num_rows, 16 );
     if (!(view->result = heap_alloc( len * sizeof(UINT) ))) return E_OUTOFMEMORY;
diff --git a/dlls/wbemprox/table.c b/dlls/wbemprox/table.c
index c114e53..126dc0a 100644
--- a/dlls/wbemprox/table.c
+++ b/dlls/wbemprox/table.c
@@ -336,7 +336,6 @@ struct table *grab_table( const WCHAR *name )
     {
         if (!strcmpiW( table->name, name ))
         {
-            if (table->fill && !table->data) table->fill( table );
             TRACE("returning %p\n", table);
             return addref_table( table );
         }
-- 
1.7.10.4







More information about the wine-patches mailing list