backport to M3_version_2_1 PR26121
diff --git a/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Control.java b/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Control.java
index 7a9f45c..37f024f 100644
--- a/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Control.java
+++ b/bundles/org.eclipse.swt/Eclipse SWT/gtk/org/eclipse/swt/widgets/Control.java
@@ -33,6 +33,7 @@
int fixedHandle, imHandle;
Composite parent;
Menu menu;
+ Font font;
String toolTipText;
Object layoutData;
Accessible accessible;
@@ -1326,7 +1327,8 @@
*/
public Font getFont () {
checkWidget();
- return Font.gtk_new (getDisplay (), getFontDescription ());
+ if (font != null) return font;
+ return Font.gtk_new (getDisplay (), defaultFont ());
}
int getFontDescription () {
@@ -1754,7 +1756,7 @@
data.device = getDisplay ();
data.background = background;
data.foreground = foreground;
- data.font = style.font_desc;
+ data.font = font != null ? font.handle : defaultFont ();
}
return gdkGC;
}
@@ -2171,6 +2173,7 @@
*/
public void setFont (Font font) {
checkWidget();
+ this.font = font;
int fontDesc;
if (font == null) {
fontDesc = defaultFont ();