Multibit-Legacy / multibit-hd

Deprecated Bitcoin Wallet
https://multibit.org/blog/2017/07/26/multibit-shutdown.html
Other
171 stars 113 forks source link

Title font decoration error #676

Closed jim618 closed 8 years ago

jim618 commented 9 years ago
"stack_trace": "java.lang.NullPointerException: null
 at sun.font.TrueTypeGlyphMapper.<init>(Unknown Source) ~[na:1.7.0_80]
 at sun.font.TrueTypeFont.getMapper(Unknown Source) ~[na:1.7.0_80]
 at sun.font.FileFontStrike.<init>(Unknown Source) ~[na:1.7.0_80]
 at sun.font.FileFont.createStrike(Unknown Source) ~[na:1.7.0_80]
 at sun.font.Font2D.getStrike(Unknown Source) ~[na:1.7.0_80]
 at sun.font.Font2D.getStrike(Unknown Source) ~[na:1.7.0_80]
 at sun.font.CompositeStrike.getStrikeForSlot(Unknown Source) ~[na:1.7.0_80]
 at sun.font.CompositeStrike.getFontMetrics(Unknown Source) ~[na:1.7.0_80]
 at sun.font.FontDesignMetrics.initMatrixAndMetrics(Unknown Source) ~[na:1.7.0_80]
 at sun.font.FontDesignMetrics.<init>(Unknown Source) ~[na:1.7.0_80]
 at sun.font.FontDesignMetrics.getMetrics(Unknown Source) ~[na:1.7.0_80]
 at sun.swing.SwingUtilities2.getFontMetrics(Unknown Source) ~[na:1.7.0_80]
 at javax.swing.JComponent.getFontMetrics(Unknown Source) ~[na:1.7.0_80]
 at javax.swing.text.GlyphPainter1.sync(Unknown Source) ~[na:1.7.0_80]
 at javax.swing.text.GlyphPainter1.getSpan(Unknown Source) ~[na:1.7.0_80]
 at javax.swing.text.GlyphView.getPreferredSpan(Unknown Source) ~[na:1.7.0_80]
 at javax.swing.text.FlowView$LogicalView.getPreferredSpan(Unknown Source) ~[na:1.7.0_80]
 at javax.swing.text.FlowView.calculateMinorAxisRequirements(Unknown Source) ~[na:1.7.0_80]
 at javax.swing.text.ParagraphView.calculateMinorAxisRequirements(Unknown Source) ~[na:1.7.0_80]
 at javax.swing.text.html.ParagraphView.calculateMinorAxisRequirements(Unknown Source) ~[na:1.7.0_80]
 at javax.swing.text.BoxView.checkRequests(Unknown Source) ~[na:1.7.0_80]
 at javax.swing.text.BoxView.getMinimumSpan(Unknown Source) ~[na:1.7.0_80]
 at javax.swing.text.html.ParagraphView.getMinimumSpan(Unknown Source) ~[na:1.7.0_80]
 at javax.swing.text.BoxView.calculateMinorAxisRequirements(Unknown Source) ~[na:1.7.0_80]
 at javax.swing.text.html.BlockView.calculateMinorAxisRequirements(Unknown Source) ~[na:1.7.0_80]
 at javax.swing.text.BoxView.checkRequests(Unknown Source) ~[na:1.7.0_80]
 at javax.swing.text.BoxView.getMinimumSpan(Unknown Source) ~[na:1.7.0_80]
 at javax.swing.text.html.BlockView.getMinimumSpan(Unknown Source) ~[na:1.7.0_80]
 at javax.swing.text.BoxView.calculateMinorAxisRequirements(Unknown Source) ~[na:1.7.0_80]
 at javax.swing.text.html.BlockView.calculateMinorAxisRequirements(Unknown Source) ~[na:1.7.0_80]
 at javax.swing.text.BoxView.checkRequests(Unknown Source) ~[na:1.7.0_80]
 at javax.swing.text.BoxView.getMinimumSpan(Unknown Source) ~[na:1.7.0_80]
 at javax.swing.text.html.BlockView.getMinimumSpan(Unknown Source) ~[na:1.7.0_80]
 at javax.swing.text.BoxView.calculateMinorAxisRequirements(Unknown Source) ~[na:1.7.0_80]
 at javax.swing.text.html.BlockView.calculateMinorAxisRequirements(Unknown Source) ~[na:1.7.0_80]
 at javax.swing.text.BoxView.checkRequests(Unknown Source) ~[na:1.7.0_80]
 at javax.swing.text.BoxView.getPreferredSpan(Unknown Source) ~[na:1.7.0_80]
 at javax.swing.text.html.BlockView.getPreferredSpan(Unknown Source) ~[na:1.7.0_80]
 at javax.swing.plaf.basic.BasicHTML$Renderer.<init>(Unknown Source) ~[na:1.7.0_80]
 at javax.swing.plaf.basic.BasicHTML.createHTMLView(Unknown Source) ~[na:1.7.0_80]
 at javax.swing.plaf.basic.BasicHTML.updateRenderer(Unknown Source) ~[na:1.7.0_80]
 at javax.swing.plaf.basic.BasicLabelUI.propertyChange(Unknown Source) ~[na:1.7.0_80]
 at javax.swing.plaf.synth.SynthLabelUI.propertyChange(Unknown Source) ~[na:1.7.0_80]
 at java.beans.PropertyChangeSupport.fire(Unknown Source) ~[na:1.7.0_80]
 at java.beans.PropertyChangeSupport.firePropertyChange(Unknown Source) ~[na:1.7.0_80]
 at java.beans.PropertyChangeSupport.firePropertyChange(Unknown Source) ~[na:1.7.0_80]
 at java.awt.Component.firePropertyChange(Unknown Source) ~[na:1.7.0_80]
 at java.awt.Component.setFont(Unknown Source) ~[na:1.7.0_80]
 at java.awt.Container.setFont(Unknown Source) ~[na:1.7.0_80]
 at javax.swing.JComponent.setFont(Unknown Source) ~[na:1.7.0_80]
 at org.multibit.hd.ui.views.fonts.TitleFontDecorator.apply(TitleFontDecorator.java:101) ~[multibit-hd.jar:na]
 at org.multibit.hd.ui.views.components.Labels.newTitleLabel(Labels.java:133) ~[multibit-hd.jar:na]
 at org.multibit.hd.ui.views.wizards.AbstractWizardPanelView.<init>(AbstractWizardPanelView.java:129) ~[multibit-hd.jar:na]
 at org.multibit.hd.ui.views.wizards.credentials.CredentialsEnterPasswordPanelView.<init>(CredentialsEnterPasswordPanelView.java:49) ~[multibit-hd.jar:na]
 at org.multibit.hd.ui.views.wizards.credentials.CredentialsWizard.populateWizardViewMap(CredentialsWizard.java:36) ~[multibit-hd.jar:na]
 at org.multibit.hd.ui.views.wizards.AbstractWizard.<init>(AbstractWizard.java:117) ~[multibit-hd.jar:na]
 at org.multibit.hd.ui.views.wizards.AbstractHardwareWalletWizard.<init>(AbstractHardwareWalletWizard.java:44) ~[multibit-hd.jar:na]
 at org.multibit.hd.ui.views.wizards.credentials.CredentialsWizard.<init>(CredentialsWizard.java:27) ~[multibit-hd.jar:na]
 at org.multibit.hd.ui.views.wizards.Wizards.newExitingCredentialsWizard(Wizards.java:298) ~[multibit-hd.jar:na]
 at org.multibit.hd.ui.views.MainView.refreshOnEventThread(MainView.java:284) ~[multibit-hd.jar:na]
 at org.multibit.hd.ui.views.MainView.refresh(MainView.java:187) ~[multibit-hd.jar:na]
 at org.multibit.hd.ui.MultiBitHD.initialiseUIViews(MultiBitHD.java:421) ~[multibit-hd.jar:na]
 at org.multibit.hd.ui.MultiBitHD$1.run(MultiBitHD.java:72) ~[multibit-hd.jar:na]
gary-rowe commented 9 years ago

Looks like a Linux issue running TrueType fonts. Can you confirm the OS?

Also, we may get more information if the user runs with -Dsun.java2d.debugfonts=true.

jim618 commented 8 years ago

I have added in some NPE protection for when the title font is set. If it fails the title font will probably end up small and plain but it should be readable. MBHD should continue rather than having a fatal Error Report.

Awaiting review and closing

gary-rowe commented 8 years ago

Verified working (code review).

Closing.