This is an automated email from the git hooks/post-receive script.

git pushed a commit to branch reproducible-widget-previews
in repository efl.

View the commit online.

commit b2c33679bacbc5ba84cfa94b9fbe99a1b27c5ce2
Author: Cedric BAIL <[email protected]>
AuthorDate: Tue Mar 24 14:21:48 2026 -0600

    fix(cocoa): restore mouse clicks in fullscreen mode on macOS
    
    Mouse move events worked in fullscreen (hover effects visible), but clicks
    were silently dropped. Two separate bugs in the Cocoa backend caused this:
    
    1. Focus-out callback was inverted: _ecore_evas_cocoa_event_lost_focus() was
       calling _ecore_evas_focus_device_set(ee, NULL, EINA_TRUE) instead of
       EINA_FALSE, telling EFL the window *gained* focus when it actually *lost*
       focus. This corrupted the focus state machine, and EFL's Evas uses focus
       state to route mouse button events — with corrupted state, clicks were
       discarded while mouse moves (which bypass focus checks for hover effects)
       continued to work.
    
    2. Titlebar click guard not gated on fullscreen: ecore_cocoa_window.m's
       mouseDown: handler had a guard (if y <= 0) to filter clicks in the
       titlebar area. In fullscreen there is no titlebar, but the guard still
       applied, silently dropping left-clicks at y=0 (topmost pixel). Added
       && ![self isFullScreen] so the guard only applies in windowed mode.
    
    Both fixes are minimal one-liners that restore proper event routing.
---
 src/lib/ecore_cocoa/ecore_cocoa_window.m | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/src/lib/ecore_cocoa/ecore_cocoa_window.m b/src/lib/ecore_cocoa/ecore_cocoa_window.m
index d00884c6ce..a6f8b893bd 100644
--- a/src/lib/ecore_cocoa/ecore_cocoa_window.m
+++ b/src/lib/ecore_cocoa/ecore_cocoa_window.m
@@ -178,7 +178,8 @@ static NSCursor *_cursors[__ECORE_COCOA_CURSOR_LAST];
 
    //we ignore left click in titlebar as it is handled by the OS (to move window)
    //and the corresponding mouseUp event isn't sent
-   if (y <= 0 && [event buttonNumber] == 0) {
+   //in fullscreen there is no titlebar, so this guard must not apply
+   if (y <= 0 && [event buttonNumber] == 0 && ![self isFullScreen]) {
 	 return;
    }
 

-- 
To stop receiving notification emails like this one, please contact
the administrator of this repository.

Reply via email to