On 27/10/18 4:55 a. m., Nikolay Sivov wrote:
On 10/24/2018 10:46 PM, Sergio Gómez Del Real wrote:
+static BOOL EDIT_EM_GetCueBanner(EDITSTATE *es, WCHAR *buf, DWORD size) +{ + if (!es->cue_banner_text) + { + if (!(es->style & ES_MULTILINE) && buf && size) + *buf = 0; + return FALSE; + }
I think it's better to move multiline test outside, before testing anything else.
Ok.
+ else + { + if (buf && size) + lstrcpynW(buf, es->cue_banner_text, size); + return TRUE; + } +}
You can remove zero size check.
Ok. Sorry about this; I should've just read these functions to see what they do exactly instead of just assuming things.
+ case EM_SETCUEBANNER: + result = EDIT_EM_SetCueBanner(es, (const WCHAR *)lParam); + break;
How did you test wParam flag? It seems to work for me as docs describe.
I tested writing a sample program on Windows 7, 32-bits. On that same OS, I got the same results using ControlSpy (for WPARAM it said it was unused). Then I googled a bit and read at a couple of places that indeed 'Windows' ignores that flag; it always behaves as if WPARAM is 0. That is not enough to conclude that all versions of Windows behave the same, of course. What version did you try, and what should we do with this OS dependence?