Fresh IDE . Check-in [c85695b2df]
Not logged in

This repository is a mirror!

The original is located on: https://fresh.flatassembler.net/fossil/repo/fresh
If you want to follow the project, please update your remote-url

Many hyperlinks are disabled.
Use anonymous login to enable hyperlinks.

Overview
Comment:Fixing a bug in the SaveAs dialog, causing crashes in Windows 10.
Timelines: family | ancestors | descendants | both | FixSaveAsDlg
Files: files | file ages | folders
SHA1:c85695b2df5aa3053e3d1870e36c5bd04d93c15a
User & Date: johnfound 2017-12-22 20:37:11
Context
2017-12-22
20:57
More simple and clean code. Closed-Leaf check-in: 953f8adc23 user: johnfound tags: FixSaveAsDlg
20:37
Fixing a bug in the SaveAs dialog, causing crashes in Windows 10. check-in: c85695b2df user: johnfound tags: FixSaveAsDlg
2017-10-29
08:49
Missed version number. check-in: f6363eae4e user: johnfound tags: trunk, v2.6.1
Changes
Hide Diffs Unified Diffs Ignore Whitespace Patch

Changes to source/opendialog.asm.

221
222
223
224
225
226
227

228
229
230
231
232


233
234

235
236
237
238
239
240
241
242
243
244
245
246
247
248
        stdcall GetMem, cFilenameBufferSize
        mov     edi, eax

        stdcall utf8ToWideChar, [.hFileName]
        mov     esi, eax

        push    edi


        rep movsw
        xor eax, eax
        stosd



        pop     edi


        mov     eax, [.hInitialDir]
        test    eax, eax
        jz      .initial_dir_ok

        stdcall FreeMem, esi
        stdcall utf8ToWideChar, eax
        mov     esi, eax

.initial_dir_ok:
        mov     [.opn.lpstrInitialDir], eax

        xor     edx, edx
        mov     [.opn.lStructSize], sizeof.OPENFILENAME








>





>
>


>




<

|







221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242

243
244
245
246
247
248
249
250
251
        stdcall GetMem, cFilenameBufferSize
        mov     edi, eax

        stdcall utf8ToWideChar, [.hFileName]
        mov     esi, eax

        push    edi
        push    esi

        rep movsw
        xor eax, eax
        stosd

        stdcall FreeMem ; from the stack

        pop     edi

        xor     esi, esi
        mov     eax, [.hInitialDir]
        test    eax, eax
        jz      .initial_dir_ok


        stdcall utf8ToWideChar, eax
        mov     esi, eax                ; in order to free it at the end.

.initial_dir_ok:
        mov     [.opn.lpstrInitialDir], eax

        xor     edx, edx
        mov     [.opn.lStructSize], sizeof.OPENFILENAME