Skip to content

The panel opens again

Choose a tag to compare

@pisarev pisarev released this 19 Aug 18:33
· 12 commits to main since this release

The panel opens again. The 1.3.1 plugin crashed Notepad++ as soon as the panel
was opened, on every machine it was tried on; that download has been removed.

Fixed

  • Notepad++ crashed when the Graph Builder panel was opened. The plugin hands
    the editor a tTbData record to register the docking panel, and the record
    was laid out four bytes short of what the editor expects: 68 bytes instead of
    72, with pszModuleName at offset 60 instead of 64. The editor read the
    module name from offset 64, found the tail of the neighbouring field and
    dereferenced it.

    The record is a C structure and the bindings say so, but the directive that
    makes it C-compatible was cancelled by a later one - in Pascal the last
    directive before the declaration wins, and nothing warns about it. On FPC
    3.3.1 both spellings give the same eight-byte alignment, so the cancelled
    directive was invisible. 1.3.1 was the first release built with FPC 3.2.2 -
    the compiler this README asks you to use - and there the two differ.

    Two tests now hold the numbers. BindingsLayout checks the size and every
    field offset of all seven records against the Notepad++ headers, and it runs
    under FPC 3.2.2, FPC 3.3.1 and Delphi. A second check opens the panel in a
    real editor from the packed archive and requires the editor to survive it.

Download

GraphBuilder-npp-1.3.2-win64.zip - 1 429 339 bytes, sha256
10d8323e5d3f773734dd43df0265e582d1f36e794c8bae4a90db4b98662a721f

Close Notepad++, unpack the archive into a folder named GraphBuilderLaz inside
the editor's plugins folder, and start it again. The folder has to carry that
name: Notepad++ does not look inside a folder whose name does not match the
library.