Infocatcher / AkelPad_scripts

Scripts for AkelPad text editor with Scripts plugin
30 stars 4 forks source link

[autoSaveSession.js] [wine] The script fails to work #10

Open Drugoy opened 7 years ago

Drugoy commented 7 years ago

The script fails to work in a wine environment under FreeBSD:

Is there anything can be done about it?

Imported libs: msls31 (MS Line Services) riched20 (MS RichEdit Control 2.0 (riched.dll) riched30 (MS RichEdit Control 3.0 (riched.dll, msls31.dll) richtx32 (MS Rich TextBox Control 6.0) wsh56vb (MS Windows Script Host 5.6, VBScript only, no CScript) wsh57 (MS Windows Script Host 5.7)

Or the list of files: cscript.exe jscript.dll riched20.dll scrrun.dll vbscript.dll wscript.dll

Infocatcher commented 7 years ago

Looks like AkelPad.WindowSubClass() doesn't work correctly under Wine. Or, at least, something went wrong with not fixed count of arguments.

May be will work (but bad for performance):

    if(
        AkelPad.WindowSubClass(
            1 /*WSC_MAINPROC*/,
            mainCallback//,
            //0x4E /*WM_NOTIFY*/,
            //0x416 /*AKDN_FRAME_ACTIVATE*/,
            //0x418 /*AKDN_FRAME_DESTROY*/
            //0x436 /*AKDN_OPENDOCUMENT_FINISH*/
            //0x406 /*AKDN_MAIN_ONFINISH*/
        )
    ) {
        if(
            isMDI != 1 /*WMD_MDI*/
            || AkelPad.WindowSubClass(
                3 /*WSC_FRAMEPROC*/,
                mainCallback//,
                //0x4E /*WM_NOTIFY*/
            )
        ) {