clang -Wimplicit-fallthrough and missing breaks
Markus Mohrhard
markus.mohrhard at googlemail.com
Wed May 25 07:24:14 UTC 2016
Hey,
On Wed, May 25, 2016 at 9:20 AM, Stephan Bergmann <sbergman at redhat.com>
wrote:
> On 05/25/2016 09:01 AM, Tor Lillqvist wrote:
>
>>
>> --- a/vcl/opengl/win/gdiimpl.cxx
>> +++ b/vcl/opengl/win/gdiimpl.cxx
>> @@ -166,6 +166,7 @@ static LRESULT CALLBACK WndProc(HWND hwnd,
>> UINT message, WPARAM wParam, LPARAM l
>> case VK_SPACE:
>> break;
>> }
>> + SAL_FALLTHROUGH; //TODO ???
>> default:
>> return DefWindowProc(hwnd, message, wParam, lParam);
>> }
>>
>>
>> I did not write this code, but looking at it, it seems fairly obvious
>> that the fall-through is intentional here. But it is beyond my
>> understanding why such a temporary window, that is used only for some
>> milliseconds, and never even displayed, would need to handle the Escape
>> and Space keys specially.
>>
>
> But it does not handle VK_SPACE specially:
>
> static LRESULT CALLBACK WndProc(HWND hwnd, UINT message, WPARAM wParam,
>> LPARAM lParam)
>> {
>> switch (message)
>> {
>> case WM_CREATE:
>> return 0;
>> case WM_CLOSE:
>> PostQuitMessage(0);
>> return 0;
>> case WM_DESTROY:
>> return 0;
>> case WM_KEYDOWN:
>> switch(wParam)
>> {
>> case VK_ESCAPE:
>> PostQuitMessage(0);
>> return 0;
>>
>> case VK_SPACE:
>> break;
>> }
>> SAL_FALLTHROUGH; //TODO ???
>> default:
>> return DefWindowProc(hwnd, message, wParam, lParam);
>> }
>> }
>>
>
> In the inner switch (in case WM_KEYDOWN), VK_SPACE and the (implicit)
> default both fall through to the outer switch's default case, which looks
> rather dubious to me (why mention VK_SPACE explicitly, then?). The code is
> like that ever since <
> https://cgit.freedesktop.org/libreoffice/core/commit/?id=0f6fca34909535b48bad41e73e5d3d0e86c744b9>
> "add anti-aliasing init"; whose author is in CC now.
That whole WM_KEYDOWN code is unnecessary.
>
>
> _______________________________________________
> LibreOffice mailing list
> LibreOffice at lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/libreoffice
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.freedesktop.org/archives/libreoffice/attachments/20160525/3e7f721d/attachment.html>
More information about the LibreOffice
mailing list