Qt: bugfix for #13388

git-svn-id: trunk@19074 -
This commit is contained in:
zeljko 2009-03-23 13:46:28 +00:00
parent 8c2e23e096
commit b84a1a97c5

View File

@ -7860,10 +7860,6 @@ begin
NMLV.hdr.code := LVN_ITEMCHANGING;
AIndex := QTreeWidget_indexOfTopLevelItem(QTreeWidgetH(Widget), Current);
NMLV.iItem := AIndex;
if NMLV.iItem = -1 then
exit;
AParent := QTreeWidgetItem_parent(Current);
@ -7872,27 +7868,29 @@ begin
else
ASubIndex := 0;
NMLV.iItem := AIndex;
NMLV.iSubItem := ASubIndex;
NMLV.uNewState := LVIS_SELECTED;
NMLV.uChanged := LVIF_STATE;
Msg.NMHdr := @NMLV.hdr;
DeliverMessage(Msg);
FSyncingItems := True;
try
if Current <> nil then
begin
DeliverMessage(Msg);
FillChar(Msg, SizeOf(Msg), #0);
FillChar(NMLV, SizeOf(NMLV), #0);
Msg.Msg := CN_NOTIFY;
NMLV.hdr.hwndfrom := LCLObject.Handle;
NMLV.hdr.code := LVN_ITEMCHANGED;
NMLV.iItem := AIndex;
NMLV.iSubItem := ASubIndex;
NMLV.uNewState := LVIS_SELECTED;
if QTreeWidget_isItemSelected(QTreeWidgetH(Widget), Current) then
NMLV.uNewState := LVIS_SELECTED
else
NMLV.uOldState := LVIS_SELECTED;
NMLV.uChanged := LVIF_STATE;
Msg.NMHdr := @NMLV.hdr;
DeliverMessage(Msg);
@ -7912,6 +7910,9 @@ begin
else
ASubIndex := 0;
NMLV.iSubItem := ASubIndex;
if QTreeWidget_isItemSelected(QTreeWidgetH(Widget), Previous) then
NMLV.uNewState := LVIS_SELECTED
else
NMLV.uOldState := LVIS_SELECTED;
NMLV.uChanged := LVIF_STATE;
Msg.NMHdr := @NMLV.hdr;