In some programs using listview with columns, the first column of the listbox will select but is not editable and the remaining columns do not respond to clicking. When clicking one of the checkboxes in the column nothing happens and you get these two errors in the console:
0118:err:listview:LISTVIEW_WindowProc unknown msg 108c wp=00000004 lp=00000000 0118:err:listview:LISTVIEW_WindowProc unknown msg 10ae wp=00000000 lp=00000000
We find that include/commctrl.h defines these as follows: #define LVM_SETSELECTEDCOLUMN (LVM_FIRST + 140) /* 108c is 0x1000 + 140 */ #define LVM_GETSELECTEDCOLUMN (LVM_FIRST + 174) /* 10ae is 0x1000 + 174 */
Changes: * These defines were removed from the TODO seciton * An INT was added to the LISTVIEW_INFO structure to track the selected column * LISTVIEW_WindowProc() case statements were added to handle the mapping.
Fixes: https://forum.winehq.org/viewtopic.php?f=8&t=34287 Signed-off-by: Eric Wheeler wine@linux.ewheeler.net
diff --git a/dlls/comctl32/listview.c b/dlls/comctl32/listview.c index dba16d1..92e8faa 100644 --- a/dlls/comctl32/listview.c +++ b/dlls/comctl32/listview.c @@ -99,7 +99,6 @@ * -- LVM_GETINSERTMARKRECT * -- LVM_GETNUMBEROFWORKAREAS * -- LVM_GETOUTLINECOLOR, LVM_SETOUTLINECOLOR - * -- LVM_GETSELECTEDCOLUMN, LVM_SETSELECTEDCOLUMN * -- LVM_GETISEARCHSTRINGW, LVM_GETISEARCHSTRINGA * -- LVM_GETTILEINFO, LVM_SETTILEINFO * -- LVM_GETTILEVIEWINFO, LVM_SETTILEVIEWINFO @@ -248,6 +247,7 @@ typedef struct tagLISTVIEW_INFO /* columns */ HDPA hdpaColumns; /* array of COLUMN_INFO pointers */ BOOL colRectsDirty; /* trigger column rectangles requery from header */ + INT iSelectedColumn; /* for use with Set/GetSelectedColumn() */
/* item metrics */ BOOL bNoItemMetrics; /* flags if item metrics are not yet computed */ @@ -11465,7 +11465,8 @@ LISTVIEW_WindowProc(HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam)
/* case LVM_GETOUTLINECOLOR: */
- /* case LVM_GETSELECTEDCOLUMN: */ + case LVM_GETSELECTEDCOLUMN: + return infoPtr->iSelectedColumn;
case LVM_GETSELECTEDCOUNT: return LISTVIEW_GetSelectedCount(infoPtr); @@ -11638,7 +11639,9 @@ LISTVIEW_WindowProc(HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam)
/* case LVM_SETOUTLINECOLOR: */
- /* case LVM_SETSELECTEDCOLUMN: */ + case LVM_SETSELECTEDCOLUMN: + infoPtr->iSelectedColumn = (INT)wParam; + return TRUE;
case LVM_SETSELECTIONMARK: return LISTVIEW_SetSelectionMark(infoPtr, (INT)lParam);
On 8/28/20 3:36 AM, Eric Wheeler wrote:
In some programs using listview with columns, the first column of the listbox will select but is not editable and the remaining columns do not respond to clicking. When clicking one of the checkboxes in the column nothing happens and you get these two errors in the console:
0118:err:listview:LISTVIEW_WindowProc unknown msg 108c wp=00000004 lp=00000000 0118:err:listview:LISTVIEW_WindowProc unknown msg 10ae wp=00000000 lp=00000000
We find that include/commctrl.h defines these as follows: #define LVM_SETSELECTEDCOLUMN (LVM_FIRST + 140) /* 108c is 0x1000 + 140 */ #define LVM_GETSELECTEDCOLUMN (LVM_FIRST + 174) /* 10ae is 0x1000 + 174 */
Changes:
- These defines were removed from the TODO seciton
- An INT was added to the LISTVIEW_INFO structure to track the selected column
- LISTVIEW_WindowProc() case statements were added to handle the mapping.
Fixes: https://forum.winehq.org/viewtopic.php?f=8&t=34287 Signed-off-by: Eric Wheeler wine@linux.ewheeler.net
Hi, Eric.
Is this patch enough to fix the issue with AWR? I suspect it's incomplete in a sense that there should be some visual feedback to mark select column with different color. Does that happen on Windows with AWR?
On Fri, 28 Aug 2020, Nikolay Sivov wrote:
On 8/28/20 3:36 AM, Eric Wheeler wrote:
In some programs using listview with columns, the first column of the listbox will select but is not editable and the remaining columns do not respond to clicking. When clicking one of the checkboxes in the column nothing happens and you get these two errors in the console:
0118:err:listview:LISTVIEW_WindowProc unknown msg 108c wp=00000004 lp=00000000 0118:err:listview:LISTVIEW_WindowProc unknown msg 10ae wp=00000000 lp=00000000
We find that include/commctrl.h defines these as follows: #define LVM_SETSELECTEDCOLUMN (LVM_FIRST + 140) /* 108c is 0x1000 + 140 */ #define LVM_GETSELECTEDCOLUMN (LVM_FIRST + 174) /* 10ae is 0x1000 + 174 */
Changes:
- These defines were removed from the TODO seciton
- An INT was added to the LISTVIEW_INFO structure to track the selected column
- LISTVIEW_WindowProc() case statements were added to handle the mapping.
Fixes: https://forum.winehq.org/viewtopic.php?f=8&t=34287 Signed-off-by: Eric Wheeler wine@linux.ewheeler.net
Hi, Eric.
Is this patch enough to fix the issue with AWR? I suspect it's incomplete in a sense that there should be some visual feedback to mark select column with different color. Does that happen on Windows with AWR?
AWR works great after applying the patch. I'm not sure if there is a difference in Windows, I don't have a Windows system to test with.
-- Eric Wheeler
On Fri, 28 Aug 2020, Eric Wheeler wrote:
On Fri, 28 Aug 2020, Nikolay Sivov wrote:
On 8/28/20 3:36 AM, Eric Wheeler wrote:
In some programs using listview with columns, the first column of the listbox will select but is not editable and the remaining columns do not respond to clicking. When clicking one of the checkboxes in the column nothing happens and you get these two errors in the console:
0118:err:listview:LISTVIEW_WindowProc unknown msg 108c wp=00000004 lp=00000000 0118:err:listview:LISTVIEW_WindowProc unknown msg 10ae wp=00000000 lp=00000000
We find that include/commctrl.h defines these as follows: #define LVM_SETSELECTEDCOLUMN (LVM_FIRST + 140) /* 108c is 0x1000 + 140 */ #define LVM_GETSELECTEDCOLUMN (LVM_FIRST + 174) /* 10ae is 0x1000 + 174 */
Changes:
- These defines were removed from the TODO seciton
- An INT was added to the LISTVIEW_INFO structure to track the selected column
- LISTVIEW_WindowProc() case statements were added to handle the mapping.
Fixes: https://forum.winehq.org/viewtopic.php?f=8&t=34287 Signed-off-by: Eric Wheeler wine@linux.ewheeler.net
Hi, Eric.
Is this patch enough to fix the issue with AWR? I suspect it's incomplete in a sense that there should be some visual feedback to mark select column with different color. Does that happen on Windows with AWR?
AWR works great after applying the patch. I'm not sure if there is a difference in Windows, I don't have a Windows system to test with.
Hi Nikolay,
I've confirmed that there is no visual UI change in AWR for Windows when a listbox column is clicked. The selected column message doesn't appear to have any UI behavior.
-- Eric Wheeler
-- Eric Wheeler
On 9/4/20 11:10 PM, Eric Wheeler wrote:
On Fri, 28 Aug 2020, Eric Wheeler wrote:
On Fri, 28 Aug 2020, Nikolay Sivov wrote:
On 8/28/20 3:36 AM, Eric Wheeler wrote:
In some programs using listview with columns, the first column of the listbox will select but is not editable and the remaining columns do not respond to clicking. When clicking one of the checkboxes in the column nothing happens and you get these two errors in the console:
0118:err:listview:LISTVIEW_WindowProc unknown msg 108c wp=00000004 lp=00000000 0118:err:listview:LISTVIEW_WindowProc unknown msg 10ae wp=00000000 lp=00000000
We find that include/commctrl.h defines these as follows: #define LVM_SETSELECTEDCOLUMN (LVM_FIRST + 140) /* 108c is 0x1000 + 140 */ #define LVM_GETSELECTEDCOLUMN (LVM_FIRST + 174) /* 10ae is 0x1000 + 174 */
Changes:
- These defines were removed from the TODO seciton
- An INT was added to the LISTVIEW_INFO structure to track the selected column
- LISTVIEW_WindowProc() case statements were added to handle the mapping.
Fixes: https://forum.winehq.org/viewtopic.php?f=8&t=34287 Signed-off-by: Eric Wheeler wine@linux.ewheeler.net
Hi, Eric.
Is this patch enough to fix the issue with AWR? I suspect it's incomplete in a sense that there should be some visual feedback to mark select column with different color. Does that happen on Windows with AWR?
AWR works great after applying the patch. I'm not sure if there is a difference in Windows, I don't have a Windows system to test with.
Hi Nikolay,
I've confirmed that there is no visual UI change in AWR for Windows when a listbox column is clicked. The selected column message doesn't appear to have any UI behavior.
It does have UI feedback, when I test this with Control Spy v6 on Windows 10. It's using different background color for selected column.
-- Eric Wheeler
-- Eric Wheeler
On Sat, 5 Sep 2020, Nikolay Sivov wrote:
On 9/4/20 11:10 PM, Eric Wheeler wrote:
On Fri, 28 Aug 2020, Eric Wheeler wrote:
On Fri, 28 Aug 2020, Nikolay Sivov wrote:
On 8/28/20 3:36 AM, Eric Wheeler wrote:
In some programs using listview with columns, the first column of the listbox will select but is not editable and the remaining columns do not respond to clicking. When clicking one of the checkboxes in the column nothing happens and you get these two errors in the console:
0118:err:listview:LISTVIEW_WindowProc unknown msg 108c wp=00000004 lp=00000000 0118:err:listview:LISTVIEW_WindowProc unknown msg 10ae wp=00000000 lp=00000000
We find that include/commctrl.h defines these as follows: #define LVM_SETSELECTEDCOLUMN (LVM_FIRST + 140) /* 108c is 0x1000 + 140 */ #define LVM_GETSELECTEDCOLUMN (LVM_FIRST + 174) /* 10ae is 0x1000 + 174 */
Changes:
- These defines were removed from the TODO seciton
- An INT was added to the LISTVIEW_INFO structure to track the selected column
- LISTVIEW_WindowProc() case statements were added to handle the mapping.
Fixes: https://forum.winehq.org/viewtopic.php?f=8&t=34287 Signed-off-by: Eric Wheeler wine@linux.ewheeler.net
Hi, Eric.
Is this patch enough to fix the issue with AWR? I suspect it's incomplete in a sense that there should be some visual feedback to mark select column with different color. Does that happen on Windows with AWR?
AWR works great after applying the patch. I'm not sure if there is a difference in Windows, I don't have a Windows system to test with.
Hi Nikolay,
I've confirmed that there is no visual UI change in AWR for Windows when a listbox column is clicked. The selected column message doesn't appear to have any UI behavior.
It does have UI feedback, when I test this with Control Spy v6 on Windows 10. It's using different background color for selected column.
Perhaps it is used for something different in AWR. At least in AWR the columns don't change color. Attached you can see the same dialog in Windows and WINE, both are sorted using the "ID" column.
Without the patch Wine can sort columns, but only cells in the first column can be changed or clicked (presuambly because GetSelectedColumn always returns 0).
Can the patch be accepted as it is because it fixes the problem for some applications but doesn't change the color? I'm not familiar enough with Wine and Windows' code to implement the color change, so someone would need to help with that.
-- Eric Wheeler
-- Eric Wheeler
-- Eric Wheeler
On Sun, 6 Sep 2020, Eric Wheeler wrote:
On Sat, 5 Sep 2020, Nikolay Sivov wrote:
On 9/4/20 11:10 PM, Eric Wheeler wrote:
On Fri, 28 Aug 2020, Eric Wheeler wrote:
On Fri, 28 Aug 2020, Nikolay Sivov wrote:
On 8/28/20 3:36 AM, Eric Wheeler wrote:
In some programs using listview with columns, the first column of the listbox will select but is not editable and the remaining columns do not respond to clicking. When clicking one of the checkboxes in the column nothing happens and you get these two errors in the console:
0118:err:listview:LISTVIEW_WindowProc unknown msg 108c wp=00000004 lp=00000000 0118:err:listview:LISTVIEW_WindowProc unknown msg 10ae wp=00000000 lp=00000000
We find that include/commctrl.h defines these as follows: #define LVM_SETSELECTEDCOLUMN (LVM_FIRST + 140) /* 108c is 0x1000 + 140 */ #define LVM_GETSELECTEDCOLUMN (LVM_FIRST + 174) /* 10ae is 0x1000 + 174 */
Changes:
- These defines were removed from the TODO seciton
- An INT was added to the LISTVIEW_INFO structure to track the selected column
- LISTVIEW_WindowProc() case statements were added to handle the mapping.
Fixes: https://forum.winehq.org/viewtopic.php?f=8&t=34287 Signed-off-by: Eric Wheeler wine@linux.ewheeler.net
Hi, Eric.
Is this patch enough to fix the issue with AWR? I suspect it's incomplete in a sense that there should be some visual feedback to mark select column with different color. Does that happen on Windows with AWR?
AWR works great after applying the patch. I'm not sure if there is a difference in Windows, I don't have a Windows system to test with.
Hi Nikolay,
I've confirmed that there is no visual UI change in AWR for Windows when a listbox column is clicked. The selected column message doesn't appear to have any UI behavior.
It does have UI feedback, when I test this with Control Spy v6 on Windows 10. It's using different background color for selected column.
Perhaps it is used for something different in AWR. At least in AWR the columns don't change color. Attached you can see the same dialog in Windows and WINE, both are sorted using the "ID" column.
Without the patch Wine can sort columns, but only cells in the first column can be changed or clicked (presuambly because GetSelectedColumn always returns 0).
Can the patch be accepted as it is because it fixes the problem for some applications but doesn't change the color? I'm not familiar enough with Wine and Windows' code to implement the color change, so someone would need to help with that.
...and here are the attachments.
-- Eric Wheeler
On 9/6/20 11:19 PM, Eric Wheeler wrote:
On Sat, 5 Sep 2020, Nikolay Sivov wrote:
On 9/4/20 11:10 PM, Eric Wheeler wrote:
On Fri, 28 Aug 2020, Eric Wheeler wrote:
On Fri, 28 Aug 2020, Nikolay Sivov wrote:
On 8/28/20 3:36 AM, Eric Wheeler wrote:
In some programs using listview with columns, the first column of the listbox will select but is not editable and the remaining columns do not respond to clicking. When clicking one of the checkboxes in the column nothing happens and you get these two errors in the console:
0118:err:listview:LISTVIEW_WindowProc unknown msg 108c wp=00000004 lp=00000000 0118:err:listview:LISTVIEW_WindowProc unknown msg 10ae wp=00000000 lp=00000000
We find that include/commctrl.h defines these as follows: #define LVM_SETSELECTEDCOLUMN (LVM_FIRST + 140) /* 108c is 0x1000 + 140 */ #define LVM_GETSELECTEDCOLUMN (LVM_FIRST + 174) /* 10ae is 0x1000 + 174 */
Changes:
- These defines were removed from the TODO seciton
- An INT was added to the LISTVIEW_INFO structure to track the selected column
- LISTVIEW_WindowProc() case statements were added to handle the mapping.
Fixes: https://forum.winehq.org/viewtopic.php?f=8&t=34287 Signed-off-by: Eric Wheeler wine@linux.ewheeler.net
Hi, Eric.
Is this patch enough to fix the issue with AWR? I suspect it's incomplete in a sense that there should be some visual feedback to mark select column with different color. Does that happen on Windows with AWR?
AWR works great after applying the patch. I'm not sure if there is a difference in Windows, I don't have a Windows system to test with.
Hi Nikolay,
I've confirmed that there is no visual UI change in AWR for Windows when a listbox column is clicked. The selected column message doesn't appear to have any UI behavior.
It does have UI feedback, when I test this with Control Spy v6 on Windows 10. It's using different background color for selected column.
Perhaps it is used for something different in AWR. At least in AWR the columns don't change color. Attached you can see the same dialog in Windows and WINE, both are sorted using the "ID" column.
Without the patch Wine can sort columns, but only cells in the first column can be changed or clicked (presuambly because GetSelectedColumn always returns 0).
Can the patch be accepted as it is because it fixes the problem for some applications but doesn't change the color?
Yes, I sent v2 under your name, with some minor changes.
I'm not familiar enough with Wine and Windows' code to implement the color change, so someone would need to help with that.
-- Eric Wheeler
-- Eric Wheeler
-- Eric Wheeler
On Mon, 7 Sep 2020, Nikolay Sivov wrote:
On 9/6/20 11:19 PM, Eric Wheeler wrote:
On Sat, 5 Sep 2020, Nikolay Sivov wrote:
On 9/4/20 11:10 PM, Eric Wheeler wrote:
On Fri, 28 Aug 2020, Eric Wheeler wrote:
On Fri, 28 Aug 2020, Nikolay Sivov wrote:
On 8/28/20 3:36 AM, Eric Wheeler wrote: > In some programs using listview with columns, the first column of the > listbox will select but is not editable and the remaining columns do not > respond to clicking. When clicking one of the checkboxes in the column > nothing happens and you get these two errors in the console: > > 0118:err:listview:LISTVIEW_WindowProc unknown msg 108c wp=00000004 lp=00000000 > 0118:err:listview:LISTVIEW_WindowProc unknown msg 10ae wp=00000000 lp=00000000 > > We find that include/commctrl.h defines these as follows: > #define LVM_SETSELECTEDCOLUMN (LVM_FIRST + 140) /* 108c is 0x1000 + 140 */ > #define LVM_GETSELECTEDCOLUMN (LVM_FIRST + 174) /* 10ae is 0x1000 + 174 */ > > Changes: > * These defines were removed from the TODO seciton > * An INT was added to the LISTVIEW_INFO structure to track the selected column > * LISTVIEW_WindowProc() case statements were added to handle the mapping. > > Fixes: https://forum.winehq.org/viewtopic.php?f=8&t=34287 > Signed-off-by: Eric Wheeler wine@linux.ewheeler.net Hi, Eric.
Is this patch enough to fix the issue with AWR? I suspect it's incomplete in a sense that there should be some visual feedback to mark select column with different color. Does that happen on Windows with AWR?
AWR works great after applying the patch. I'm not sure if there is a difference in Windows, I don't have a Windows system to test with.
Hi Nikolay,
I've confirmed that there is no visual UI change in AWR for Windows when a listbox column is clicked. The selected column message doesn't appear to have any UI behavior.
It does have UI feedback, when I test this with Control Spy v6 on Windows 10. It's using different background color for selected column.
Perhaps it is used for something different in AWR. At least in AWR the columns don't change color. Attached you can see the same dialog in Windows and WINE, both are sorted using the "ID" column.
Without the patch Wine can sort columns, but only cells in the first column can be changed or clicked (presuambly because GetSelectedColumn always returns 0).
Can the patch be accepted as it is because it fixes the problem for some applications but doesn't change the color?
Yes, I sent v2 under your name, with some minor changes.
Awesome, thank you for making the changes and writing the tests and pushing it in!
-- Eric Wheeler
I'm not familiar enough with Wine and Windows' code to implement the color change, so someone would need to help with that.
-- Eric Wheeler
-- Eric Wheeler
-- Eric Wheeler