@@ -164,7 +164,7 @@ LRESULT CALLBACK PhpExtendedListViewWndProc(
164
164
{
165
165
HWND headerHandle ;
166
166
167
- headerHandle = (HWND )DefSubclassProc (hwnd , LVM_GETHEADER , 0 , 0 );
167
+ headerHandle = (HWND )SendMessage (hwnd , LVM_GETHEADER , 0 , 0 );
168
168
169
169
if (header -> hwndFrom == headerHandle )
170
170
{
@@ -352,7 +352,7 @@ LRESULT CALLBACK PhpExtendedListViewWndProc(
352
352
{
353
353
if (i != column )
354
354
{
355
- if (DefSubclassProc (hwnd , LVM_GETCOLUMN , i , (LPARAM )& lvColumn ))
355
+ if (SendMessage (hwnd , LVM_GETCOLUMN , i , (LPARAM )& lvColumn ))
356
356
{
357
357
availableWidth -= lvColumn .cx ;
358
358
}
@@ -366,10 +366,10 @@ LRESULT CALLBACK PhpExtendedListViewWndProc(
366
366
}
367
367
368
368
if (availableWidth >= 40 )
369
- return DefSubclassProc (hwnd , LVM_SETCOLUMNWIDTH , column , availableWidth );
369
+ return SendMessage (hwnd , LVM_SETCOLUMNWIDTH , column , availableWidth );
370
370
}
371
371
372
- return DefSubclassProc (hwnd , LVM_SETCOLUMNWIDTH , column , width );
372
+ return SendMessage (hwnd , LVM_SETCOLUMNWIDTH , column , width );
373
373
}
374
374
break ;
375
375
case ELVM_SETCOMPAREFUNCTION :
@@ -549,13 +549,9 @@ static INT PhpExtendedListViewCompareFunc(
549
549
yItem .iItem = y ;
550
550
yItem .iSubItem = 0 ;
551
551
552
- // Don't use SendMessage/ListView_* because it will call our new window procedure, which will
553
- // use GetProp. This calls NtUserGetProp, and obviously having a system call in a comparison
554
- // function is very, very bad for performance.
555
-
556
- if (!DefWindowProc (context -> Handle , LVM_GETITEM , 0 , (LPARAM )& xItem ))
552
+ if (!SendMessage (context -> Handle , LVM_GETITEM , 0 , (LPARAM )& xItem ))
557
553
return 0 ;
558
- if (!DefWindowProc (context -> Handle , LVM_GETITEM , 0 , (LPARAM )& yItem ))
554
+ if (!SendMessage (context -> Handle , LVM_GETITEM , 0 , (LPARAM )& yItem ))
559
555
return 0 ;
560
556
561
557
// First, do tri-state sorting.
@@ -717,7 +713,7 @@ static INT PhpDefaultCompareListViewItems(
717
713
item .cchTextMax = 260 ;
718
714
719
715
xText [0 ] = 0 ;
720
- DefWindowProc (Context -> Handle , LVM_GETITEM , 0 , (LPARAM )& item );
716
+ SendMessage (Context -> Handle , LVM_GETITEM , 0 , (LPARAM )& item );
721
717
722
718
// Get the Y item text.
723
719
@@ -726,7 +722,7 @@ static INT PhpDefaultCompareListViewItems(
726
722
item .cchTextMax = 260 ;
727
723
728
724
yText [0 ] = 0 ;
729
- DefWindowProc (Context -> Handle , LVM_GETITEM , 0 , (LPARAM )& item );
725
+ SendMessage (Context -> Handle , LVM_GETITEM , 0 , (LPARAM )& item );
730
726
731
727
// Compare them.
732
728
0 commit comments