Menu

#287 show function support for start menu page

2.0 Series
closed
Modern UI (30)
5
2006-03-14
2006-03-12
jtbalogh
No

What a coincidence?!? This bug was bothering me today
and I wanted to report it, but another guy also
reported something at,

"StartMenu plugin drawing bug"
http://sourceforge.net/tracker/index.php?
func=detail&aid=1447934&group_id=22049&atid=373085

I know why it happens and I use a workaround for NSIS
2.15, but would like a new version of NSIS to fix this.

-----------------------
Error:
-----------------------
The MUI_PAGE_CUSTOMFUNCTION_SHOW function is not
executed when the MUI_PAGE_STARTMENU window is opened.

-----------------------
Script that generates the error:
-----------------------
!define MUI_PAGE_CUSTOMFUNCTION_PRE MyStartPre
!define MUI_PAGE_CUSTOMFUNCTION_SHOW MyStartShow ;
ignored
!define MUI_PAGE_CUSTOMFUNCTION_LEAVE MyStartLeave
!insertmacro MUI_PAGE_STARTMENU "App" MyVar

!define MUI_PAGE_CUSTOMFUNCTION_PRE MyDirPre
!define MUI_PAGE_CUSTOMFUNCTION_SHOW MyDirShow ; works
!define MUI_PAGE_CUSTOMFUNCTION_LEAVE MyDirLeave
!insertmacro MUI_PAGE_DIRECTORY

-----------------------
Location of error in NSIS build:
-----------------------
In the file 'System.nsh', we have,

!insertmacro MUI_FUNCTION_STARTMENUPAGE
${MUI_PAGE_UNINSTALLER_FUNCPREFIX}
mui.StartmenuPre_${MUI_UNIQUEID}
${MUI_PAGE_UNINSTALLER_FUNCPREFIX}
mui.StartmenuLeave_${MUI_UNIQUEID}

!insertmacro MUI_FUNCTION_DIRECTORYPAGE
${MUI_PAGE_UNINSTALLER_FUNCPREFIX}
mui.DirectoryPre_${MUI_UNIQUEID}
${MUI_PAGE_UNINSTALLER_FUNCPREFIX}
mui.DirectoryShow_${MUI_UNIQUEID}
${MUI_PAGE_UNINSTALLER_FUNCPREFIX}
mui.DirectoryLeave_${MUI_UNIQUEID}

Notice that the information for show is missing from
the startmenupage.

-----------------------
Workaround
-----------------------
Add the show information in 'system.nsh' so the
startmenupage and directorypage are similar.

Discussion

  • jtbalogh

    jtbalogh - 2006-03-12

    Logged In: YES
    user_id=1077586

    In the file 'System.nsh', we also have,

    !macro MUI_FUNCTION_STARTMENUPAGE PRE LEAVE
    !macro MUI_FUNCTION_DIRECTORYPAGE PRE SHOW LEAVE

     
  • jtbalogh

    jtbalogh - 2006-03-12

    Logged In: YES
    user_id=1077586

    In the file, 'System.nsh', we also have,

    PageCallbacks ${MUI_PAGE_UNINSTALLER_FUNCPREFIX}
    mui.StartmenuPre_${MUI_UNIQUEID}
    ${MUI_PAGE_UNINSTALLER_FUNCPREFIX}
    mui.StartmenuLeave_${MUI_UNIQUEID}

    PageCallbacks ${MUI_PAGE_UNINSTALLER_FUNCPREFIX}
    mui.DirectoryPre_${MUI_UNIQUEID}
    ${MUI_PAGE_UNINSTALLER_FUNCPREFIX}
    mui.DirectoryShow_${MUI_UNIQUEID}
    ${MUI_PAGE_UNINSTALLER_FUNCPREFIX}
    mui.DirectoryLeave_${MUI_UNIQUEID}

     
  • jtbalogh

    jtbalogh - 2006-03-12

    Logged In: YES
    user_id=1077586

    Shoot !

    From the tutorial:
    4.5.3 Callbacks
    A custom page only has two callback functions, one that
    creates it which is mandatory, and one leave-function that
    acts just like the leave-function for built-in pages. (No
    show function)

     
  • jtbalogh

    jtbalogh - 2006-03-12

    Logged In: YES
    user_id=1077586

    Now what do I do ?

     
  • jtbalogh

    jtbalogh - 2006-03-13

    Logged In: YES
    user_id=1077586

    See my solution, at,

    Default directory
    http://forums.winamp.com/showthread.php?
    s=4f02cb5f0283172b5d8e6fe7dc5dced7&postid=1886051#post188605
    1

    You may use it in future versions of NSIS if it works as
    you expect.

     
  • Amir Szekely

    Amir Szekely - 2006-03-14
    • labels: 516681 --> Modern UI
    • milestone: 378423 --> 2.0 Series
    • assigned_to: joostverburg --> kichik
     
  • Amir Szekely

    Amir Szekely - 2006-03-14
    • summary: StartMenu bug --> show function support for start menu page
     
  • Amir Szekely

    Amir Szekely - 2006-03-14

    Logged In: YES
    user_id=584402

    Implemented MUI start menu page show function for 2.16.

     
  • Amir Szekely

    Amir Szekely - 2006-03-14
    • status: open --> closed
     
  • jtbalogh

    jtbalogh - 2006-03-15

    Logged In: YES
    user_id=1077586

    Thanks. I will wait for your new version.

     

Log in to post a comment.