Skip to content

Commit 7792a60

Browse files
author
GWA
committed
Bug fix: Change tracking, left gutter popup to show deleted changes:
Fixed Nullpointer when popup was too long.
1 parent 5cec309 commit 7792a60

File tree

2 files changed

+18
-9
lines changed

2 files changed

+18
-9
lines changed

sql12/core/doc/changes.txt

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -57,6 +57,9 @@ Table cell data popup now offers find, Xml/Json-reformatting and export function
5757

5858
Bug fixes:
5959

60+
Change tracking, left gutter popup to show deleted changes:
61+
Fixed Nullpointer when popup was too long.
62+
6063
Find in preferences/configurations dialog:
6164
Double clicking any empty node now always shows the preference/configuration.
6265

sql12/core/src/net/sourceforge/squirrel_sql/client/session/mainpanel/changetrack/DeletedLinesGutterItem.java

Lines changed: 15 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,5 @@
11
package net.sourceforge.squirrel_sql.client.session.mainpanel.changetrack;
22

3-
import com.github.difflib.patch.DeleteDelta;
4-
import net.sourceforge.squirrel_sql.client.session.ISQLEntryPanel;
5-
import net.sourceforge.squirrel_sql.fw.gui.ClipboardUtil;
6-
import net.sourceforge.squirrel_sql.fw.util.Utilities;
7-
8-
import javax.swing.JPanel;
9-
import javax.swing.JPopupMenu;
10-
import javax.swing.text.BadLocationException;
113
import java.awt.Color;
124
import java.awt.Dimension;
135
import java.awt.Graphics;
@@ -16,6 +8,16 @@
168
import java.awt.Rectangle;
179
import java.awt.event.MouseEvent;
1810
import java.awt.geom.Rectangle2D;
11+
import javax.swing.BorderFactory;
12+
import javax.swing.JPanel;
13+
import javax.swing.JPopupMenu;
14+
import javax.swing.JScrollPane;
15+
import javax.swing.text.BadLocationException;
16+
17+
import com.github.difflib.patch.DeleteDelta;
18+
import net.sourceforge.squirrel_sql.client.session.ISQLEntryPanel;
19+
import net.sourceforge.squirrel_sql.fw.gui.ClipboardUtil;
20+
import net.sourceforge.squirrel_sql.fw.util.Utilities;
1921

2022
public class DeletedLinesGutterItem implements GutterItem
2123
{
@@ -101,7 +103,11 @@ public void leftShowPopupIfHit(MouseEvent me, JPanel trackingGutterLeft)
101103

102104
revertablePopupPanel.btnRevert.addActionListener(ae -> onRevert(popupMenu));
103105

104-
popupMenu.add(revertablePopupPanel);
106+
// The ScrollPane prevents NollPointer exception deep inside Swing code
107+
// when the popup is too wide to fit on the screen.
108+
final JScrollPane scrollPane = new JScrollPane(revertablePopupPanel);
109+
scrollPane.setBorder(BorderFactory.createEmptyBorder());
110+
popupMenu.add(scrollPane);
105111
popupMenu.show(trackingGutterLeft, ChangeTrackPanel.LEFT_GUTTER_WIDTH, me.getY());
106112
}
107113
}

0 commit comments

Comments
 (0)