Hans Leidekker : wbemprox: Refill tables with dynamic content before each query.

Alexandre Julliard julliard at winehq.org
Wed May 22 13:46:58 CDT 2013


Module: wine
Branch: master
Commit: 8f69a44b1c7e8fa6efc9d5e74ccf8af385675abd
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=8f69a44b1c7e8fa6efc9d5e74ccf8af385675abd

Author: Hans Leidekker <hans at codeweavers.com>
Date:   Wed May 22 10:08:17 2013 +0200

wbemprox: Refill tables with dynamic content before each query.

---

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

diff --git a/dlls/wbemprox/query.c b/dlls/wbemprox/query.c
index 8ac42cc..fa03fcf 100644
--- a/dlls/wbemprox/query.c
+++ b/dlls/wbemprox/query.c
@@ -246,7 +246,11 @@ static HRESULT execute_view( struct view *view )
     UINT i, j = 0, len;
 
     if (!view->table) return S_OK;
-    if (view->table->fill && !view->table->data) view->table->fill( view->table );
+    if (view->table->fill)
+    {
+        clear_table( view->table );
+        view->table->fill( view->table );
+    }
     if (!view->table->num_rows) return S_OK;
 
     len = min( view->table->num_rows, 16 );
diff --git a/dlls/wbemprox/table.c b/dlls/wbemprox/table.c
index 126dc0a..70ea98e 100644
--- a/dlls/wbemprox/table.c
+++ b/dlls/wbemprox/table.c
@@ -263,7 +263,7 @@ HRESULT get_method( const struct table *table, const WCHAR *name, class_method *
 
 }
 
-static void clear_table( struct table *table )
+void clear_table( struct table *table )
 {
     UINT i, j, type;
     LONGLONG val;
diff --git a/dlls/wbemprox/wbemprox_private.h b/dlls/wbemprox/wbemprox_private.h
index efdde76..a4d034d 100644
--- a/dlls/wbemprox/wbemprox_private.h
+++ b/dlls/wbemprox/wbemprox_private.h
@@ -171,6 +171,7 @@ struct table *create_table( const WCHAR *, UINT, const struct column *, UINT,
                             BYTE *, void (*)(struct table *)) DECLSPEC_HIDDEN;
 BOOL add_table( struct table * ) DECLSPEC_HIDDEN;
 void free_columns( struct column *, UINT ) DECLSPEC_HIDDEN;
+void clear_table( struct table * ) DECLSPEC_HIDDEN;
 void free_table( struct table * ) DECLSPEC_HIDDEN;
 UINT get_type_size( CIMTYPE ) DECLSPEC_HIDDEN;
 HRESULT get_column_index( const struct table *, const WCHAR *, UINT * ) DECLSPEC_HIDDEN;




More information about the wine-cvs mailing list