Menu

#763 Some symbols do not display properly in the symbols panel

3.3
closed-fixed
5
2017-03-01
2017-02-22
Son Hoang
No

On Mac, some of the symbols do not display properly in the symbols panel (see attachment)
(This is reported by Michael Butler via private communication).

1 Attachments

Discussion

  • Laurent Voisin

    Laurent Voisin - 2017-02-22

    The symbols that are not properly displayed correspond to those that are taken in the private subset of Unicode (Event-B specific).

    On my machine, these symbols are properly displayed. I suppose that it is because I have the Event-B font installed globally on my Mac.

    Normally the Event-B font is locally installed by the Rodin platform if it is not yet available. It seems that the symbol table does not use it, then.

     
  • Son Hoang

    Son Hoang - 2017-02-22

    Hi Laurent,
    The Brave Sans Mono font is loaded by the Event-B UI plug-in. If the Symbols view is activated before the Event-B UI plug-in, the font will not be available. In fact, once the Event-B UI is activated, close the Symbols view and reopen it again will help to display the symbols correctly.

     
  • Son Hoang

    Son Hoang - 2017-02-22

    Some more information related to the problem:

    • In Linux, the Symbols view seems to be fine.
    • On Windows, the same problem occurs, however, resizing the view (which force a refresh) and the correct font is used.

    I debug the problem and it is the case that the Event-B UI plug-in is started before the Symbols View (as it is a dependency). However, the loadFont() method in EventBUIPlugin load the font asynchronously, i.e., using display.asyncExec(...). Changing this to display.syncExec(....) fixes the problem on Mac for me.

     
  • Laurent Voisin

    Laurent Voisin - 2017-02-23

    Dear Son, it is on purpose that the font loading is done asynchronously. Making it synchronous would break again the UI tests by introducing deadlocks.

    I think you should rather postpone the display of the symbols after the font has been loaded asynchronously.

     
  • Laurent Voisin

    Laurent Voisin - 2017-02-27

    Dear Son, I have a developed a fix for this issue.

    It is available in branch bug-763 of my fork of RodinCore (git://git.code.sf.net/u/lvoisin/rodincore).

    Could you please review it and check that it works on Mac OS Sierra and the other platforms (I have only tested it on my computer which is El Capitan)?

     
  • Son Hoang

    Son Hoang - 2017-02-27

    Dear Laurent,
    Thank you very much. The changes look reasonable to me. We have checked Mac OS Sierra, Window 32bit and Ubuntu 64bit and the problem is gone.

     
  • Laurent Voisin

    Laurent Voisin - 2017-03-01
    • labels: --> Event-B interface
    • status: open --> closed-fixed
    • assigned_to: Laurent Voisin
     
  • Laurent Voisin

    Laurent Voisin - 2017-03-01

    Bug fixed in [8e82cb]

     

    Related

    Commit: [8e82cb]


Log in to post a comment.