Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -7336,6 +7336,19 @@ LRESULT wmNotifyToolTip (NMTTCUSTOMDRAW nmcd, long lParam) {
return null;
}

void destroyImageList() {
long oldStateImageList = OS.SendMessage(handle, OS.LVM_GETIMAGELIST, OS.LVSIL_STATE, 0);
long oldhImageList = OS.SendMessage(handle, OS.LVM_GETIMAGELIST, OS.LVSIL_SMALL, 0);
long hImageList = OS.ImageList_Create (1, 1, 0, 0, 0);
OS.SendMessage (handle, OS.LVM_SETIMAGELIST, OS.LVSIL_STATE, hImageList);
OS.SendMessage (handle, OS.LVM_SETIMAGELIST, OS.LVSIL_SMALL, hImageList);
OS.ImageList_Destroy(oldStateImageList);
OS.ImageList_Destroy(oldhImageList);
OS.SendMessage (handle, OS.LVM_SETIMAGELIST, OS.LVSIL_STATE, 0);
OS.SendMessage (handle, OS.LVM_SETIMAGELIST, OS.LVSIL_SMALL, 0);
OS.ImageList_Destroy(hImageList);
}

@Override
void handleDPIChange(Event event, float scalingFactor) {
super.handleDPIChange(event, scalingFactor);
Expand All @@ -7358,6 +7371,12 @@ void handleDPIChange(Event event, float scalingFactor) {
imageList = null;
}

if((style & SWT.CHECK) != 0 ) {
destroyImageList();
int size = getItemHeightInPixels();
setCheckboxImageList(size, size, false);
}

// if the item height was set at least once programmatically with CDDS_SUBITEMPREPAINT,
// the item height of the table is not managed by the OS anymore e.g. when the zoom
// on the monitor is changed, the height of the item will stay at the fixed size.
Expand All @@ -7375,7 +7394,6 @@ void handleDPIChange(Event event, float scalingFactor) {
// Update scrollbar width if no columns are available
setScrollWidth(scrollWidth);
}
fixCheckboxImageListColor (true);
settingItemHeight = false;
settingItemHeight = false;
}
}
Loading