James Hawkins wrote:
@@ -65,6 +65,7 @@ struct msi_control_tag float progress_current; float progress_max; WCHAR name[1]; + DWORD attributes;
You shouldn't add members after name[1], as the string in name[] will overwrite them.
+ sz = 0x20; + buf = msi_alloc( sz*sizeof(WCHAR) ); + while( buf ) + { + r = GetWindowTextW( control->hwnd, buf, sz ); + if( r < (sz-1) ) + break; + sz *= 2; + buf = msi_realloc( buf, sz*sizeof(WCHAR) ); + }
There's already code to get the window text in msi_dialog_edit_handler(), so please factor it out into a new function rather than copying it. (maybe LPWSTR msi_get_window_text(HWND)?)
+ LPCWSTR prop;
+ prop = (LPWSTR)MSI_RecordGetString( rec, 9 );
You shouldn't need a cast here... Mike