@@ -0,0 +1,1467 @@
+/*%0A * Copyright (C) 2022 DiffPlug%0A *%0A * Licensed under the Apache License, Version 2.0 (the %22License%22);%0A * you may not use this file except in compliance with the License.%0A * You may obtain a copy of the License at%0A *%0A *     https://www.apache.org/licenses/LICENSE-2.0%0A *%0A * Unless required by applicable law or agreed to in writing, software%0A * distributed under the License is distributed on an %22AS IS%22 BASIS,%0A * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.%0A * See the License for the specific language governing permissions and%0A * limitations under the License.%0A */%0Apackage com.diffplug.common.swt;%0A%0A%0Aimport com.diffplug.common.swt.os.Arch;%0Aimport com.diffplug.common.swt.os.OS;%0Aimport org.eclipse.swt.widgets.List;%0Aimport org.eclipse.swt.widgets.Table;%0Aimport org.eclipse.swt.widgets.Tree;%0A%0A/**%0A * Call these methods whenever a %60Table%60, %60Tree%60, or %60List%60 is instantiated and it will do nothing,%0A * excpet on Mac Apple Silicon where it will call %60setFont(null)%60 as a workaround for%0A * https://bugs.eclipse.org/bugs/show_bug.cgi?id=575696%0A */%0Apublic class SiliconFix %7B%0A%09private static final boolean APPLY_FIX = OS.getRunning().isMac() && Arch.getRunning() == Arch.arm64;%0A%0A%09public static void fix(Table table) %7B%0A%09%09if (APPLY_FIX) %7B%0A%09%09%09table.setFont(null);%0A%09%09%7D%0A%09%7D%0A%0A%09public static void fix(Tree tree) %7B%0A%09%09if (APPLY_FIX) %7B%0A%09%09%09tree.setFont(null);%0A%09%09%7D%0A%09%7D%0A%0A%09public static void fix(List list) %7B%0A%09%09if (APPLY_FIX) %7B%0A%09%09%09list.setFont(null);%0A%09%09%7D%0A%09%7D%0A%7D%0A

Add a SiliconFix workaround class.