projects
/
goodguy
/
history.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
alt transport keys, snap editing, grab focus, inv hilight clr, subtitle fix
[goodguy/history.git]
/
cinelerra-5.1
/
guicast
/
bcwindowbase.C
diff --git
a/cinelerra-5.1/guicast/bcwindowbase.C
b/cinelerra-5.1/guicast/bcwindowbase.C
index 5909aced83e841ac9b33925f1b2c442b48ee6be9..ec7507683bf04eef3136f014b3e88f169b4564b1 100644
(file)
--- a/
cinelerra-5.1/guicast/bcwindowbase.C
+++ b/
cinelerra-5.1/guicast/bcwindowbase.C
@@
-296,6
+296,7
@@
int BC_WindowBase::initialize()
active_menubar = 0;
active_popup_menu = 0;
active_subwindow = 0;
active_menubar = 0;
active_popup_menu = 0;
active_subwindow = 0;
+ cursor_entered = 0;
pixmap = 0;
bg_pixmap = 0;
_7segment_pixmaps = 0;
pixmap = 0;
bg_pixmap = 0;
_7segment_pixmaps = 0;
@@
-1325,11
+1326,20
@@
locking_message = event->xclient.message_type;
break;
case LeaveNotify:
break;
case LeaveNotify:
+ if( cursor_entered && event->xcrossing.window == win ) {
+ cursor_entered = 0;
+ }
event_win = event->xany.window;
dispatch_cursor_leave();
break;
case EnterNotify:
event_win = event->xany.window;
dispatch_cursor_leave();
break;
case EnterNotify:
+ if( !cursor_entered && event->xcrossing.window == win ) {
+ if( !event->xcrossing.focus && get_resources()->grab_input_focus ) {
+ XSetInputFocus(display, win, RevertToParent, CurrentTime);
+ }
+ cursor_entered = 1;
+ }
event_win = event->xany.window;
cursor_x = event->xcrossing.x;
cursor_y = event->xcrossing.y;
event_win = event->xany.window;
cursor_x = event->xcrossing.x;
cursor_y = event->xcrossing.y;