From 4a0e3c26dea615a6d2c4eb34fec78f29bb8cb048 Mon Sep 17 00:00:00 2001 From: Alexander Lobas Date: Mon, 10 Nov 2025 09:44:10 +0100 Subject: [PATCH] IJPL-215192 Islands: Profiler / Coverage tool windows have wrong background for UI components if 'Different tool window background' is on (cherry picked from commit 7988fe148e265afbd3714e35bfba31d677744b26) IJ-CR-182808 GitOrigin-RevId: 430684560d0f433533169eef0e3f55bd5dd96734 --- .../src/com/intellij/ui/components/JBTreeTable.java | 2 +- .../ui/src/com/intellij/ui/charts/ChartWrapper.kt | 3 ++- .../src/com/intellij/coverage/view/CoverageView.java | 2 +- 3 files changed, 4 insertions(+), 3 deletions(-) diff --git a/platform/platform-impl/src/com/intellij/ui/components/JBTreeTable.java b/platform/platform-impl/src/com/intellij/ui/components/JBTreeTable.java index 3f2604b59e1a..ae9179a7a04f 100644 --- a/platform/platform-impl/src/com/intellij/ui/components/JBTreeTable.java +++ b/platform/platform-impl/src/com/intellij/ui/components/JBTreeTable.java @@ -307,7 +307,7 @@ public class JBTreeTable extends JComponent implements TreePathBackgroundSupplie return super.getWidth() + 1; } }; - myTreeTableHeader.setTable(ref); // <- we steal table header and need to provide any JTable to handle right ui painting + ref.setTableHeader(myTreeTableHeader); // <- we steal table header and need to provide any JTable to handle right ui painting myTreeTableHeader.setColumnModel(new TreeColumnModel()); myTreeTableHeader.setReorderingAllowed(false); myTreeTableHeader.setResizingAllowed(false); diff --git a/platform/platform-impl/ui/src/com/intellij/ui/charts/ChartWrapper.kt b/platform/platform-impl/ui/src/com/intellij/ui/charts/ChartWrapper.kt index ca22e3169a54..4039f24ba8be 100644 --- a/platform/platform-impl/ui/src/com/intellij/ui/charts/ChartWrapper.kt +++ b/platform/platform-impl/ui/src/com/intellij/ui/charts/ChartWrapper.kt @@ -175,6 +175,7 @@ abstract class ChartWrapper : ChartComponent { open val component: JComponent by lazy { createCentralPanel().apply { + background = this@ChartWrapper.background with(MouseAware()) { addMouseMotionListener(this) addMouseListener(this) @@ -217,7 +218,7 @@ abstract class ChartWrapper : ChartComponent { private inner class CentralPanel : JComponent() { override fun paintComponent(g: Graphics) { (g as Graphics2D).clip(Rectangle(0, 0, width, height)) - g.color = this@ChartWrapper.background + g.color = background (g as Graphics2D).fill(g.clip) this@ChartWrapper.height = height this@ChartWrapper.width = width diff --git a/plugins/coverage-common/src/com/intellij/coverage/view/CoverageView.java b/plugins/coverage-common/src/com/intellij/coverage/view/CoverageView.java index 9fe824000d34..b3854871519e 100644 --- a/plugins/coverage-common/src/com/intellij/coverage/view/CoverageView.java +++ b/plugins/coverage-common/src/com/intellij/coverage/view/CoverageView.java @@ -113,7 +113,7 @@ public class CoverageView extends BorderLayoutPanel implements UiDataProvider, D int row, int column) { final Component component = super.getTableCellRendererComponent(table, value, isSelected, hasFocus, row, column); - setBackground(UIUtil.getTableBackground(isSelected, myTable.hasFocus())); + setBackground(isSelected ? UIUtil.getTableBackground(isSelected, myTable.hasFocus()) : null); return component; } });