msi: Use the handle to the treeview item if the item text is not returned.

oldstable
James Hawkins 2008-05-04 02:06:37 -05:00 committed by Alexandre Julliard
parent 56bfe2972f
commit 6d91fd8ce6
1 changed files with 12 additions and 2 deletions

View File

@ -2055,7 +2055,8 @@ static UINT msi_dialog_seltree_handler( msi_dialog *dialog,
LPNMTREEVIEWW tv = (LPNMTREEVIEWW)param;
MSIRECORD *row, *rec;
MSIFOLDER *folder;
LPCWSTR dir;
MSIFEATURE *feature;
LPCWSTR dir, title = NULL;
UINT r = ERROR_SUCCESS;
static const WCHAR select[] = {
@ -2069,7 +2070,16 @@ static UINT msi_dialog_seltree_handler( msi_dialog *dialog,
info->selected = tv->itemNew.hItem;
row = MSI_QueryGetRecord( dialog->package->db, select, tv->itemNew.pszText );
if (!(tv->itemNew.mask & TVIF_TEXT))
{
feature = msi_seltree_feature_from_item( control->hwnd, tv->itemNew.hItem );
if (feature)
title = feature->Title;
}
else
title = tv->itemNew.pszText;
row = MSI_QueryGetRecord( dialog->package->db, select, title );
if (!row)
return ERROR_FUNCTION_FAILED;