BeDesk-Express

  • État Fermée
  • Pourcentage achevé
    100%
  • Type Bug
  • Catégorie Application → Core
  • Assignée à
    DevTeam
  • Système d'exploitation Tous
  • Sévérité Critique
  • Priorité Très haute
  • Basée sur la version 17.7
  • Due pour la version 17.7
  • Échéance Non décidée
  • Votes
  • Privée
Concerne le projet: BeDesk-Express
Ouverte par DevTeam - 2017-08-03
Dernière modification par DevTeam - 2017-08-03

FS#1311 - Erreur interne lors de l'export de certains rapport en PDF

Lorsqu’on essaye d’exporter certains rapports en PDF, une erreur interne se produit et bloque la procédure.

Il est toutefois possible de quitter le logiciel proprement.

L’erreur ne se produit pas systématiquement, mais seulement à quelques reprise, pour finir par fonctionner correctement.


Détails de la fenêtre de débogage:

HTMLDOC *** AutoCheckFontSize patching font size 10 -> 11 ***
HTMLDOC *** AutoCheckFontSize patching font size 6 -> 7 ***
CREATE PageClassicHeaderImage : javax.swing.ImageIcon@1efe5d6a
Exception in thread "Thread-20" java.lang.NullPointerException
        at javax.swing.text.FlowView$FlowStrategy.layoutRow(FlowView.java:563)
        at javax.swing.text.TextLayoutStrategy.layoutRow(TextLayoutStrategy.java:127)
        at javax.swing.text.FlowView$FlowStrategy.layout(FlowView.java:477)
        at javax.swing.text.TextLayoutStrategy.layout(TextLayoutStrategy.java:110)
        at javax.swing.text.FlowView.layout(FlowView.java:201)
        at javax.swing.text.BoxView.setSize(BoxView.java:397)
        at javax.swing.text.BoxView.updateChildSizes(BoxView.java:366)
        at javax.swing.text.BoxView.setSpanOnAxis(BoxView.java:348)
        at javax.swing.text.BoxView.layout(BoxView.java:708)
        at javax.swing.text.BoxView.setSize(BoxView.java:397)
        at javax.swing.text.BoxView.updateChildSizes(BoxView.java:366)
        at javax.swing.text.BoxView.setSpanOnAxis(BoxView.java:348)
        at javax.swing.text.BoxView.layout(BoxView.java:708)
        at javax.swing.text.BoxView.setSize(BoxView.java:397)
        at javax.swing.plaf.basic.BasicTextUI$RootView.setSize(BasicTextUI.java:1722)
        at javax.swing.plaf.basic.BasicTextUI.modelToView(BasicTextUI.java:1046)
        at bedesk.pageeditor.PrintableEditorPane.a(Unknown Source)
        at bedesk.pageeditor.PrintableEditorPane.a(Unknown Source)
        at bedesk.pageeditor.PrintableEditorPane.a(Unknown Source)
        at bedesk.pageeditor.PrintableEditorPane.a(Unknown Source)
        at bedesk.pageeditor.PrintableEditorPane.getNumberOfPages(Unknown Source)
        at bedesk.pageeditor.PrintableEditorPane.b(Unknown Source)
        at bedesk.printing.Imprimer$MetaContext.getBook(Unknown Source)
        at bedesk.printing.Imprimer$MetaContext.c(Unknown Source)
        at bedesk.printing.Imprimer.a(Unknown Source)
        at bedesk.RepportSet$MyPrivatePDFThread.run(Unknown Source)

L’impression est lancée à partir d’un Thread indépendant et non à partir de l’AWTEventQueue:

WARNING : Task.invoke from Thread[Thread-11,6,main](bedesk.RepportSet$MyPrivatePDFThread)

Certaines données ne sont donc pas nécessairement disponibles au moment où le processus se poursuit (d’où l’erreur null pointer).


Solution : Remplacer le thread MyPrivatePDFThread par une structure Runnable que l’on exécute via le Worker.

Les méthodes compilToPrintableObject() et getBook() de Imprimer.MetaContext ont été également patchées pour s’exécuter uniquement dans le contexte de l’AWTEvenQueue.

Fermée par  DevTeam
2017-08-03 17:08
Raison de la fermeture :  Fixé

Chargement...

Activer les raccourcis clavier

Liste des tâches

Détails de la tâche

Édition de la tâche