make sure uiState is up to date for GC's during custom draw
diff --git a/bundles/org.eclipse.swt/Eclipse SWT/win32/org/eclipse/swt/widgets/Table.java b/bundles/org.eclipse.swt/Eclipse SWT/win32/org/eclipse/swt/widgets/Table.java
index b65de4c..8039aa2 100755
--- a/bundles/org.eclipse.swt/Eclipse SWT/win32/org/eclipse/swt/widgets/Table.java
+++ b/bundles/org.eclipse.swt/Eclipse SWT/win32/org/eclipse/swt/widgets/Table.java
@@ -3036,6 +3036,7 @@
data.hPen = OS.CreatePen (OS.PS_SOLID, 0, data.foreground);
data.hBrush = OS.CreateSolidBrush (data.background);
data.hFont = hFont;
+ data.uiState = OS.SendMessage (handle, OS.WM_QUERYUISTATE, 0, 0);
int nSavedDC = OS.SaveDC (hDC);
GC gc = GC.win32_new (hDC, data);
RECT cellRect = item.getBounds (nmcd.dwItemSpec, nmcd.iSubItem, true, true, true, true, hDC);
@@ -3344,6 +3345,7 @@
}
data.hPen = OS.CreatePen (OS.PS_SOLID, 0, data.foreground);
data.hBrush = OS.CreateSolidBrush (data.background);
+ data.uiState = OS.SendMessage (handle, OS.WM_QUERYUISTATE, 0, 0);
int nSavedDC = OS.SaveDC (hDC);
GC gc = GC.win32_new (hDC, data);
RECT itemRect = item.getBounds (nmcd.dwItemSpec, nmcd.iSubItem, true, true, false, false, hDC);
diff --git a/bundles/org.eclipse.swt/Eclipse SWT/win32/org/eclipse/swt/widgets/Tree.java b/bundles/org.eclipse.swt/Eclipse SWT/win32/org/eclipse/swt/widgets/Tree.java
index c56eb53..ae40b08 100755
--- a/bundles/org.eclipse.swt/Eclipse SWT/win32/org/eclipse/swt/widgets/Tree.java
+++ b/bundles/org.eclipse.swt/Eclipse SWT/win32/org/eclipse/swt/widgets/Tree.java
@@ -596,6 +596,7 @@
data.hPen = OS.CreatePen (OS.PS_SOLID, 0, data.foreground);
data.hBrush = OS.CreateSolidBrush (data.background);
data.hFont = hFont;
+ data.uiState = OS.SendMessage (handle, OS.WM_QUERYUISTATE, 0, 0);
GC gc = GC.win32_new (hDC, data);
Event event = new Event ();
event.item = item;
@@ -775,6 +776,7 @@
}
data.hPen = OS.CreatePen (OS.PS_SOLID, 0, data.foreground);
data.hBrush = OS.CreateSolidBrush (data.background);
+ data.uiState = OS.SendMessage (handle, OS.WM_QUERYUISTATE, 0, 0);
OS.SelectObject (hDC, data.hPen);
OS.SelectObject (hDC, data.hBrush);
GC gc = GC.win32_new (hDC, data);
@@ -995,6 +997,7 @@
}
data.hPen = OS.CreatePen (OS.PS_SOLID, 0, data.foreground);
data.hBrush = OS.CreateSolidBrush (data.background);
+ data.uiState = OS.SendMessage (handle, OS.WM_QUERYUISTATE, 0, 0);
if (hFont != -1) data.hFont = hFont;
OS.SelectObject (hDC, data.hPen);
OS.SelectObject (hDC, data.hBrush);