Module: wine Branch: master Commit: 8f69a44b1c7e8fa6efc9d5e74ccf8af385675abd URL: http://source.winehq.org/git/wine.git/?a=commit;h=8f69a44b1c7e8fa6efc9d5e74c...
Author: Hans Leidekker hans@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;