cursive icon indicating copy to clipboard operation
cursive copied to clipboard

[BUG] Button gets pressed on mouse hover with crossterm

Open nxsaken opened this issue 2 years ago • 4 comments

Describe the bug Hovering over a button presses it when using the crossterm backend. Termion has the correct behavior.

To Reproduce

  1. cursive = { version = "0.20.0", default-features = false, features = ["crossterm-backend"] }

  2. Use the example code:

use cursive::views::{Dialog, TextView};

fn main() {
    // Creates the cursive root - required for every application.
    let mut siv = cursive::default();

    // Creates a dialog with a single "Quit" button
    siv.add_layer(Dialog::around(TextView::new("Hello Dialog!"))
                         .title("Cursive")
                         .button("Quit", |s| s.quit()));

    // Starts the event loop.
    siv.run();
}
  1. Touch the quit button with the mouse cursor.

Expected behavior Nothing happens unless I left-click.

Environment

  • macOS Sonoma 14.0, M1 pro
  • Backend: crossterm
  • Current locale:
LANG=""
LC_COLLATE="C"
LC_CTYPE="UTF-8"
LC_MESSAGES="C"
LC_MONETARY="C"
LC_NUMERIC="C"
LC_TIME="C"
LC_ALL=
  • Cursive version: 0.20

nxsaken avatar Nov 21 '23 08:11 nxsaken

Hi, and thanks for the report!

I'm unable to reproduce the issue so far, running on a M1 pro laptop on Sonoma 14.2.1. What version of crossterm is in Cargo.lock?

gyscos avatar Feb 06 '24 15:02 gyscos

Hi! 0.25.0

nxsaken avatar Feb 06 '24 21:02 nxsaken

I still cannot reproduce it, either with the default terminal app, or with alacritty.

Does the issue still exist when running from this git main branch? (It should use crossterm 0.27.0).

Note also that cursive expects a utf-8 locale. You could try setting for example export LANG=en_US.UTF-8 (or some other locale of your choice) to see if that makes a difference, though I don't think it should in this case.

gyscos avatar Feb 06 '24 21:02 gyscos

Huh, I ran the app from Terminal, and it worked as expected. The problem only happens if I run the app from the terminal in my IDE (CLion).

nxsaken avatar Feb 06 '24 22:02 nxsaken