VLC 4.0 generates a different mouse event sequence for double-clicking than VLC 3.0 does (regression?)
VLC 4.0 has changed the sequence of mouse events that get generated when a used does a double-click.
Using:
if (p_new->b_double_click) {
msg_Err(p_filter, "DBL CLICK p_mouse_old: i_pressed=%i, b_double_click=%i; "
"p_mouse_new: i_pressed=%i, b_double_click=%i",
p_old->i_pressed, p_old->b_double_click,
p_new->i_pressed, p_new->b_double_click
);
} else if (vlc_mouse_HasPressed( p_old, p_new, MOUSE_BUTTON_LEFT )) {
msg_Err(p_filter, "PRESSED p_mouse_old: i_pressed=%i, b_double_click=%i; "
"p_mouse_new: i_pressed=%i, b_double_click=%i",
p_old->i_pressed, p_old->b_double_click,
p_new->i_pressed, p_new->b_double_click
);
} else if (vlc_mouse_HasReleased( p_old, p_new, MOUSE_BUTTON_LEFT )) {
msg_Err(p_filter, "RELEASED p_mouse_old: i_pressed=%i, b_double_click=%i; "
"p_mouse_new: i_pressed=%i, b_double_click=%i",
p_old->i_pressed, p_old->b_double_click,
p_new->i_pressed, p_new->b_double_click
);
}
I observe:
VLC4 on Windows (don't have a Linux build):
*first click of a double-click*
PRESSED p_mouse_old: i_pressed=0, b_double_click=0; p_mouse_new: i_pressed=1, b_double_click=0
RELEASED p_mouse_old: i_pressed=1, b_double_click=0; p_mouse_new: i_pressed=0, b_double_click=0
*second click of the double-click*
PRESSED p_mouse_old: i_pressed=0, b_double_click=0; p_mouse_new: i_pressed=1, b_double_click=0
DBL CLICK p_mouse_old: i_pressed=1, b_double_click=0; p_mouse_new: i_pressed=1, b_double_click=1
RELEASED p_mouse_old: i_pressed=1, b_double_click=1; p_mouse_new: i_pressed=0, b_double_click=0
VLC3 on Windows and Linux:
*first click of a double-click*
PRESSED p_mouse_old: i_pressed=0, b_double_click=0; p_mouse_new: i_pressed=1, b_double_click=0
RELEASED p_mouse_old: i_pressed=1, b_double_click=0; p_mouse_new: i_pressed=0, b_double_click=0
*second click of the double-click*
DBL CLICK p_mouse_old: i_pressed=0, b_double_click=0; p_mouse_new: i_pressed=0, b_double_click=1
These changes broke my video filter plugin as it relied on the specific sequence of events VLC3 was generating, and while I can fix the plugin by modifying it to account for the new VLC behavior, I'm not sure if you meant to change the mouse event sequence in the first place, so I want to get a clarification on whether the event sequence being different in VLC4 is a regression or an intentional change.