diff mbox series

ui/cocoa: Fix switched_to_fullscreen warning

Message ID 20220702044304.90553-1-peter@pjd.dev
State New
Headers show
Series ui/cocoa: Fix switched_to_fullscreen warning | expand

Commit Message

Peter Delevoryas July 2, 2022, 4:43 a.m. UTC
I noticed this error while building QEMU on Mac OS X:

    [1040/1660] Compiling Objective-C object libcommon.fa.p/ui_cocoa.m.o
    ../ui/cocoa.m:803:17: warning: variable 'switched_to_fullscreen' set but not used [-Wunused-but-set-variable]
        static bool switched_to_fullscreen = false;
                    ^
    1 warning generated.

I think the behavior is fine if you remove "switched_to_fullscreen", I can
still switch in and out of mouse grabbed mode and fullscreen mode with this
change, and Command keycodes will only be passed to the guest if the mouse
is grabbed, which I think is the right behavior. I'm not sure why a static
piece of state was needed to handle that in the first place. Perhaps the
refactoring of the flags-state-change fixed that by toggling the Command
keycode on.

I tested this with an Ubuntu core image on macOS 12.4

    wget https://cdimage.ubuntu.com/ubuntu-core/18/stable/current/ubuntu-core-18-i386.img.xz
    xz -d ubuntu-core-18-i386.img.xz
    qemu-system-x86_64 -drive file=ubuntu-core-18.i386.img,format=raw

Fixes: 6d73bb643aa7 ("ui/cocoa: Clear modifiers whenever possible")
Signed-off-by: Peter Delevoryas <peter@pjd.dev>
---
 ui/cocoa.m | 8 --------
 1 file changed, 8 deletions(-)

Comments

Akihiko Odaki July 2, 2022, 2:30 p.m. UTC | #1
Reviewed-by: Akihiko Odaki <akihiko.odaki@gmail.com>

On 2022/07/02 13:43, Peter Delevoryas wrote:
> I noticed this error while building QEMU on Mac OS X:
> 
>      [1040/1660] Compiling Objective-C object libcommon.fa.p/ui_cocoa.m.o
>      ../ui/cocoa.m:803:17: warning: variable 'switched_to_fullscreen' set but not used [-Wunused-but-set-variable]
>          static bool switched_to_fullscreen = false;
>                      ^
>      1 warning generated.
> 
> I think the behavior is fine if you remove "switched_to_fullscreen", I can
> still switch in and out of mouse grabbed mode and fullscreen mode with this
> change, and Command keycodes will only be passed to the guest if the mouse
> is grabbed, which I think is the right behavior. I'm not sure why a static
> piece of state was needed to handle that in the first place. Perhaps the
> refactoring of the flags-state-change fixed that by toggling the Command
> keycode on.
> 
> I tested this with an Ubuntu core image on macOS 12.4
> 
>      wget https://cdimage.ubuntu.com/ubuntu-core/18/stable/current/ubuntu-core-18-i386.img.xz
>      xz -d ubuntu-core-18-i386.img.xz
>      qemu-system-x86_64 -drive file=ubuntu-core-18.i386.img,format=raw
> 
> Fixes: 6d73bb643aa7 ("ui/cocoa: Clear modifiers whenever possible")
> Signed-off-by: Peter Delevoryas <peter@pjd.dev>
> ---
>   ui/cocoa.m | 8 --------
>   1 file changed, 8 deletions(-)
> 
> diff --git a/ui/cocoa.m b/ui/cocoa.m
> index 84c84e98fc..13e208b037 100644
> --- a/ui/cocoa.m
> +++ b/ui/cocoa.m
> @@ -800,7 +800,6 @@ - (bool) handleEventLocked:(NSEvent *)event
>       int buttons = 0;
>       int keycode = 0;
>       bool mouse_event = false;
> -    static bool switched_to_fullscreen = false;
>       // Location of event in virtual screen coordinates
>       NSPoint p = [self screenLocationOfEvent:event];
>       NSUInteger modifiers = [event modifierFlags];
> @@ -952,13 +951,6 @@ - (bool) handleEventLocked:(NSEvent *)event
>   
>               // forward command key combos to the host UI unless the mouse is grabbed
>               if (!isMouseGrabbed && ([event modifierFlags] & NSEventModifierFlagCommand)) {
> -                /*
> -                 * Prevent the command key from being stuck down in the guest
> -                 * when using Command-F to switch to full screen mode.
> -                 */
> -                if (keycode == Q_KEY_CODE_F) {
> -                    switched_to_fullscreen = true;
> -                }
>                   return false;
>               }
>
Peter Delevoryas July 7, 2022, 12:58 a.m. UTC | #2
On Sat, Jul 02, 2022 at 11:30:16PM +0900, Akihiko Odaki wrote:
> Reviewed-by: Akihiko Odaki <akihiko.odaki@gmail.com>

Just checking in on the status of this: do I need to submit a pull request?
Or will this patch be picked up in a miscellaneous pull queue eventually?

> 
> On 2022/07/02 13:43, Peter Delevoryas wrote:
> > I noticed this error while building QEMU on Mac OS X:
> > 
> >      [1040/1660] Compiling Objective-C object libcommon.fa.p/ui_cocoa.m.o
> >      ../ui/cocoa.m:803:17: warning: variable 'switched_to_fullscreen' set but not used [-Wunused-but-set-variable]
> >          static bool switched_to_fullscreen = false;
> >                      ^
> >      1 warning generated.
> > 
> > I think the behavior is fine if you remove "switched_to_fullscreen", I can
> > still switch in and out of mouse grabbed mode and fullscreen mode with this
> > change, and Command keycodes will only be passed to the guest if the mouse
> > is grabbed, which I think is the right behavior. I'm not sure why a static
> > piece of state was needed to handle that in the first place. Perhaps the
> > refactoring of the flags-state-change fixed that by toggling the Command
> > keycode on.
> > 
> > I tested this with an Ubuntu core image on macOS 12.4
> > 
> >      wget https://cdimage.ubuntu.com/ubuntu-core/18/stable/current/ubuntu-core-18-i386.img.xz
> >      xz -d ubuntu-core-18-i386.img.xz
> >      qemu-system-x86_64 -drive file=ubuntu-core-18.i386.img,format=raw
> > 
> > Fixes: 6d73bb643aa7 ("ui/cocoa: Clear modifiers whenever possible")
> > Signed-off-by: Peter Delevoryas <peter@pjd.dev>
> > ---
> >   ui/cocoa.m | 8 --------
> >   1 file changed, 8 deletions(-)
> > 
> > diff --git a/ui/cocoa.m b/ui/cocoa.m
> > index 84c84e98fc..13e208b037 100644
> > --- a/ui/cocoa.m
> > +++ b/ui/cocoa.m
> > @@ -800,7 +800,6 @@ - (bool) handleEventLocked:(NSEvent *)event
> >       int buttons = 0;
> >       int keycode = 0;
> >       bool mouse_event = false;
> > -    static bool switched_to_fullscreen = false;
> >       // Location of event in virtual screen coordinates
> >       NSPoint p = [self screenLocationOfEvent:event];
> >       NSUInteger modifiers = [event modifierFlags];
> > @@ -952,13 +951,6 @@ - (bool) handleEventLocked:(NSEvent *)event
> >               // forward command key combos to the host UI unless the mouse is grabbed
> >               if (!isMouseGrabbed && ([event modifierFlags] & NSEventModifierFlagCommand)) {
> > -                /*
> > -                 * Prevent the command key from being stuck down in the guest
> > -                 * when using Command-F to switch to full screen mode.
> > -                 */
> > -                if (keycode == Q_KEY_CODE_F) {
> > -                    switched_to_fullscreen = true;
> > -                }
> >                   return false;
> >               }
>
Peter Delevoryas July 12, 2022, 12:05 a.m. UTC | #3
On Wed, Jul 06, 2022 at 05:58:38PM -0700, Peter Delevoryas wrote:
> On Sat, Jul 02, 2022 at 11:30:16PM +0900, Akihiko Odaki wrote:
> > Reviewed-by: Akihiko Odaki <akihiko.odaki@gmail.com>
> 
> Just checking in on the status of this: do I need to submit a pull request?
> Or will this patch be picked up in a miscellaneous pull queue eventually?

Pinging this thread again, does this change need anyone else to review it?

> 
> > 
> > On 2022/07/02 13:43, Peter Delevoryas wrote:
> > > I noticed this error while building QEMU on Mac OS X:
> > > 
> > >      [1040/1660] Compiling Objective-C object libcommon.fa.p/ui_cocoa.m.o
> > >      ../ui/cocoa.m:803:17: warning: variable 'switched_to_fullscreen' set but not used [-Wunused-but-set-variable]
> > >          static bool switched_to_fullscreen = false;
> > >                      ^
> > >      1 warning generated.
> > > 
> > > I think the behavior is fine if you remove "switched_to_fullscreen", I can
> > > still switch in and out of mouse grabbed mode and fullscreen mode with this
> > > change, and Command keycodes will only be passed to the guest if the mouse
> > > is grabbed, which I think is the right behavior. I'm not sure why a static
> > > piece of state was needed to handle that in the first place. Perhaps the
> > > refactoring of the flags-state-change fixed that by toggling the Command
> > > keycode on.
> > > 
> > > I tested this with an Ubuntu core image on macOS 12.4
> > > 
> > >      wget https://cdimage.ubuntu.com/ubuntu-core/18/stable/current/ubuntu-core-18-i386.img.xz
> > >      xz -d ubuntu-core-18-i386.img.xz
> > >      qemu-system-x86_64 -drive file=ubuntu-core-18.i386.img,format=raw
> > > 
> > > Fixes: 6d73bb643aa7 ("ui/cocoa: Clear modifiers whenever possible")
> > > Signed-off-by: Peter Delevoryas <peter@pjd.dev>
> > > ---
> > >   ui/cocoa.m | 8 --------
> > >   1 file changed, 8 deletions(-)
> > > 
> > > diff --git a/ui/cocoa.m b/ui/cocoa.m
> > > index 84c84e98fc..13e208b037 100644
> > > --- a/ui/cocoa.m
> > > +++ b/ui/cocoa.m
> > > @@ -800,7 +800,6 @@ - (bool) handleEventLocked:(NSEvent *)event
> > >       int buttons = 0;
> > >       int keycode = 0;
> > >       bool mouse_event = false;
> > > -    static bool switched_to_fullscreen = false;
> > >       // Location of event in virtual screen coordinates
> > >       NSPoint p = [self screenLocationOfEvent:event];
> > >       NSUInteger modifiers = [event modifierFlags];
> > > @@ -952,13 +951,6 @@ - (bool) handleEventLocked:(NSEvent *)event
> > >               // forward command key combos to the host UI unless the mouse is grabbed
> > >               if (!isMouseGrabbed && ([event modifierFlags] & NSEventModifierFlagCommand)) {
> > > -                /*
> > > -                 * Prevent the command key from being stuck down in the guest
> > > -                 * when using Command-F to switch to full screen mode.
> > > -                 */
> > > -                if (keycode == Q_KEY_CODE_F) {
> > > -                    switched_to_fullscreen = true;
> > > -                }
> > >                   return false;
> > >               }
> > 
>
Akihiko Odaki July 12, 2022, 3:56 a.m. UTC | #4
On 2022/07/12 9:05, Peter Delevoryas wrote:
> On Wed, Jul 06, 2022 at 05:58:38PM -0700, Peter Delevoryas wrote:
>> On Sat, Jul 02, 2022 at 11:30:16PM +0900, Akihiko Odaki wrote:
>>> Reviewed-by: Akihiko Odaki <akihiko.odaki@gmail.com>
>>
>> Just checking in on the status of this: do I need to submit a pull request?
>> Or will this patch be picked up in a miscellaneous pull queue eventually?
> 
> Pinging this thread again, does this change need anyone else to review it?

The patch should be picked up later. You may ping again if there is no 
response after weeks.

Sorry for replying late,
Akihiko Odaki

> 
>>
>>>
>>> On 2022/07/02 13:43, Peter Delevoryas wrote:
>>>> I noticed this error while building QEMU on Mac OS X:
>>>>
>>>>       [1040/1660] Compiling Objective-C object libcommon.fa.p/ui_cocoa.m.o
>>>>       ../ui/cocoa.m:803:17: warning: variable 'switched_to_fullscreen' set but not used [-Wunused-but-set-variable]
>>>>           static bool switched_to_fullscreen = false;
>>>>                       ^
>>>>       1 warning generated.
>>>>
>>>> I think the behavior is fine if you remove "switched_to_fullscreen", I can
>>>> still switch in and out of mouse grabbed mode and fullscreen mode with this
>>>> change, and Command keycodes will only be passed to the guest if the mouse
>>>> is grabbed, which I think is the right behavior. I'm not sure why a static
>>>> piece of state was needed to handle that in the first place. Perhaps the
>>>> refactoring of the flags-state-change fixed that by toggling the Command
>>>> keycode on.
>>>>
>>>> I tested this with an Ubuntu core image on macOS 12.4
>>>>
>>>>       wget https://cdimage.ubuntu.com/ubuntu-core/18/stable/current/ubuntu-core-18-i386.img.xz
>>>>       xz -d ubuntu-core-18-i386.img.xz
>>>>       qemu-system-x86_64 -drive file=ubuntu-core-18.i386.img,format=raw
>>>>
>>>> Fixes: 6d73bb643aa7 ("ui/cocoa: Clear modifiers whenever possible")
>>>> Signed-off-by: Peter Delevoryas <peter@pjd.dev>
>>>> ---
>>>>    ui/cocoa.m | 8 --------
>>>>    1 file changed, 8 deletions(-)
>>>>
>>>> diff --git a/ui/cocoa.m b/ui/cocoa.m
>>>> index 84c84e98fc..13e208b037 100644
>>>> --- a/ui/cocoa.m
>>>> +++ b/ui/cocoa.m
>>>> @@ -800,7 +800,6 @@ - (bool) handleEventLocked:(NSEvent *)event
>>>>        int buttons = 0;
>>>>        int keycode = 0;
>>>>        bool mouse_event = false;
>>>> -    static bool switched_to_fullscreen = false;
>>>>        // Location of event in virtual screen coordinates
>>>>        NSPoint p = [self screenLocationOfEvent:event];
>>>>        NSUInteger modifiers = [event modifierFlags];
>>>> @@ -952,13 +951,6 @@ - (bool) handleEventLocked:(NSEvent *)event
>>>>                // forward command key combos to the host UI unless the mouse is grabbed
>>>>                if (!isMouseGrabbed && ([event modifierFlags] & NSEventModifierFlagCommand)) {
>>>> -                /*
>>>> -                 * Prevent the command key from being stuck down in the guest
>>>> -                 * when using Command-F to switch to full screen mode.
>>>> -                 */
>>>> -                if (keycode == Q_KEY_CODE_F) {
>>>> -                    switched_to_fullscreen = true;
>>>> -                }
>>>>                    return false;
>>>>                }
>>>
>>
diff mbox series

Patch

diff --git a/ui/cocoa.m b/ui/cocoa.m
index 84c84e98fc..13e208b037 100644
--- a/ui/cocoa.m
+++ b/ui/cocoa.m
@@ -800,7 +800,6 @@  - (bool) handleEventLocked:(NSEvent *)event
     int buttons = 0;
     int keycode = 0;
     bool mouse_event = false;
-    static bool switched_to_fullscreen = false;
     // Location of event in virtual screen coordinates
     NSPoint p = [self screenLocationOfEvent:event];
     NSUInteger modifiers = [event modifierFlags];
@@ -952,13 +951,6 @@  - (bool) handleEventLocked:(NSEvent *)event
 
             // forward command key combos to the host UI unless the mouse is grabbed
             if (!isMouseGrabbed && ([event modifierFlags] & NSEventModifierFlagCommand)) {
-                /*
-                 * Prevent the command key from being stuck down in the guest
-                 * when using Command-F to switch to full screen mode.
-                 */
-                if (keycode == Q_KEY_CODE_F) {
-                    switched_to_fullscreen = true;
-                }
                 return false;
             }