[ https://issues.apache.org/jira/browse/NETBEANS-5070?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17257067#comment-17257067 ]
Matthias Bläsing edited comment on NETBEANS-5070 at 12/31/20, 6:58 PM: ----------------------------------------------------------------------- So I looked a bit deeper into the terminal and I think the solution can be simpler than the current approach. It is less invasive, as it only activates a different code path, that was already present in the codebase. Please have a look here: https://github.com/apache/netbeans/pull/2628 The first three commits can be ignored, as they just return the codebase to the original state: - https://github.com/apache/netbeans/pull/2628/commits/172a9cf8198ee372fabbfeabc8a3ecc183fa837e - Adds a debug option to see the fixed width grid (to verify the char positions against that) - https://github.com/apache/netbeans/pull/2628/commits/4d1a41420cf756faa81ee200ac8edf7626632361 - My suggested fix I tested on windows 150% + 200% and Linux 2x. Please see if it fixes the situation for you too. I also ran "npx grunt" successfully with my test project on windows. Before (the first of a pair is scale=1, the second scale=2): !before_scale1.png! !before_scale2.png! !before2_scale1.png! !before2_scale2.png! After: !after_scale1.png! !after_scale2.png! !after2_scale1.png! !after2_scale2.png! was (Author: mblaesing): So I looked a bit deeper into the terminal and I think the solution can be simpler than the current approach. It is less invasive, as it only activates a different code path, that was already present in the codebase. Please have a look here: https://github.com/apache/netbeans/pull/2628 The first three commits can be ignored, as they just return the codebase to the original state: - https://github.com/apache/netbeans/pull/2628/commits/172a9cf8198ee372fabbfeabc8a3ecc183fa837e - Adds a debug option to see the fixed width grid (to verify the char positions against that) - https://github.com/apache/netbeans/pull/2628/commits/4d1a41420cf756faa81ee200ac8edf7626632361 - My suggested fix I tested on windows 150% + 200% and Linux 2x. Please see if it fixes the situation for you too. I also ran "npx grunt" successfully with my test project on windows. > Partitial fix for NETBEANS-819 breaks terminal > ---------------------------------------------- > > Key: NETBEANS-5070 > URL: https://issues.apache.org/jira/browse/NETBEANS-5070 > Project: NetBeans > Issue Type: Bug > Components: cnd - Terminalemulator > Affects Versions: Next > Reporter: Matthias Bläsing > Assignee: Michal Hlavac > Priority: Blocker > Labels: pull-request-available > Fix For: 12.3 > > Attachments: 99895991-55dd6080-2c41-11eb-9019-c7c96214a802.gif, > Bildschirmfoto_2020-12-30_17-07-10.png, after2_scale1.png, after2_scale2.png, > after_scale1.png, after_scale2.png, before2_scale1.png, before2_scale2.png, > before_scale1.png, before_scale2.png > > Time Spent: 1h 10m > Remaining Estimate: 0h > > The fix for shifted cursor in terminal windows commited by: > [https://github.com/apache/netbeans/pull/2509] > Breaks text selection (video provided by [~lkishalmi] ): > !99895991-55dd6080-2c41-11eb-9019-c7c96214a802.gif! > I also saw that behavior on windows and on linux I observed flaky behavior of > the terminal and this is matched by exceptions: > {quote}SEVERE [global] > java.lang.ArrayIndexOutOfBoundsException: Index 134 out of bounds for length > 134 > at > java.desktop/sun.font.FontDesignMetrics.charsWidth(FontDesignMetrics.java:506) > at org.netbeans.lib.terminalemulator.Line.stringWidth(Line.java:159) > at org.netbeans.lib.terminalemulator.Sel.paint(Sel.java:407) > at org.netbeans.lib.terminalemulator.Sel.access$000(Sel.java:71) > at org.netbeans.lib.terminalemulator.Sel$2.visit(Sel.java:436) > at org.netbeans.lib.terminalemulator.Buffer.visitLines(Buffer.java:205) > at org.netbeans.lib.terminalemulator.Term.visitLines(Term.java:912) > at org.netbeans.lib.terminalemulator.Sel.paint(Sel.java:434) > at org.netbeans.lib.terminalemulator.Term.do_paint(Term.java:3175) > at org.netbeans.lib.terminalemulator.Screen.paint(Screen.java:168) > at > java.desktop/javax.swing.JComponent.paintChildren(JComponent.java:907) > at java.desktop/javax.swing.JComponent.paint(JComponent.java:1083) > at > java.desktop/javax.swing.JComponent.paintChildren(JComponent.java:907) > at > java.desktop/javax.swing.JComponent.paint(JComponent.java:1083){quote} > So we either need a quick fix for this or we need to rollback the referenced > commit. -- This message was sent by Atlassian Jira (v8.3.4#803005) --------------------------------------------------------------------- To unsubscribe, e-mail: commits-unsubscr...@netbeans.apache.org For additional commands, e-mail: commits-h...@netbeans.apache.org For further information about the NetBeans mailing lists, visit: https://cwiki.apache.org/confluence/display/NETBEANS/Mailing+lists