[
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: [email protected]
For additional commands, e-mail: [email protected]
For further information about the NetBeans mailing lists, visit:
https://cwiki.apache.org/confluence/display/NETBEANS/Mailing+lists