Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Crash when using ondragstart #2328

Closed
jeancf opened this issue Apr 17, 2024 · 0 comments · Fixed by #2358
Closed

Crash when using ondragstart #2328

jeancf opened this issue Apr 17, 2024 · 0 comments · Fixed by #2358
Assignees
Labels
bug Something isn't working desktop Suggestions related to the desktop renderer

Comments

@jeancf
Copy link

jeancf commented Apr 17, 2024

Problem

Trying to drag an Element to which an ondragstart event handler has been added results in a crash of the application.

Steps To Reproduce

Steps to reproduce the behavior:

main.css

#![allow(non_snake_case)]

use dioxus::prelude::*;
use log::LevelFilter;

fn main() {
    // Init debug
    dioxus_logger::init(LevelFilter::Debug).expect("failed to init logger");

    dioxus::launch(App);
}

#[component]
fn App() -> Element {
    rsx! {
        div {
            ondragstart: move |ev| {
                log::debug!("{:?}", ev);
            },
            "DIV"
        }
    }
}
  • Launch with dx serve
  • Select the word DIV
  • Try to drag it
  • Nothing appears in the debug log and crash:
thread 'main' panicked at /home/jeancf/.cargo/registry/src/index.crates.io-6f17d22bba15001f/dioxus-desktop-0.5.1/src/app.rs:301:60:
called `Option::unwrap()` on a `None` value
stack backtrace:
   0: rust_begin_unwind
             at /rustc/25ef9e3d85d934b27d9dada2f9dd52b1dc63bb04/library/std/src/panicking.rs:647:5
   1: core::panicking::panic_fmt
             at /rustc/25ef9e3d85d934b27d9dada2f9dd52b1dc63bb04/library/core/src/panicking.rs:72:14
   2: core::panicking::panic
             at /rustc/25ef9e3d85d934b27d9dada2f9dd52b1dc63bb04/library/core/src/panicking.rs:144:5
   3: core::option::unwrap_failed
             at /rustc/25ef9e3d85d934b27d9dada2f9dd52b1dc63bb04/library/core/src/option.rs:1978:5
   4: core::option::Option<T>::unwrap
             at /rustc/25ef9e3d85d934b27d9dada2f9dd52b1dc63bb04/library/core/src/option.rs:931:21
   5: dioxus_desktop::app::App::handle_user_event_msg
             at /home/jeancf/.cargo/registry/src/index.crates.io-6f17d22bba15001f/dioxus-desktop-0.5.1/src/app.rs:301:38
   6: dioxus_desktop::launch::launch_virtual_dom_blocking::{{closure}}
             at /home/jeancf/.cargo/registry/src/index.crates.io-6f17d22bba15001f/dioxus-desktop-0.5.1/src/launch.rs:55:45
   7: tao::platform_impl::platform::event_loop::EventLoop<T>::run_return::{{closure}}
             at /home/jeancf/.cargo/registry/src/index.crates.io-6f17d22bba15001f/tao-0.26.2/src/platform_impl/linux/event_loop.rs:1005:24
   8: glib::main_context::<impl glib::auto::main_context::MainContext>::with_thread_default
             at /home/jeancf/.cargo/registry/src/index.crates.io-6f17d22bba15001f/glib-0.18.5/src/main_context.rs:154:12
   9: tao::platform_impl::platform::event_loop::EventLoop<T>::run_return
             at /home/jeancf/.cargo/registry/src/index.crates.io-6f17d22bba15001f/tao-0.26.2/src/platform_impl/linux/event_loop.rs:929:5
  10: tao::platform_impl::platform::event_loop::EventLoop<T>::run
             at /home/jeancf/.cargo/registry/src/index.crates.io-6f17d22bba15001f/tao-0.26.2/src/platform_impl/linux/event_loop.rs:883:21
  11: tao::event_loop::EventLoop<T>::run
             at /home/jeancf/.cargo/registry/src/index.crates.io-6f17d22bba15001f/tao-0.26.2/src/event_loop.rs:211:5
  12: dioxus_desktop::launch::launch_virtual_dom_blocking
             at /home/jeancf/.cargo/registry/src/index.crates.io-6f17d22bba15001f/dioxus-desktop-0.5.1/src/launch.rs:17:5
  13: dioxus_desktop::launch::launch_virtual_dom::{{closure}}
             at /home/jeancf/.cargo/registry/src/index.crates.io-6f17d22bba15001f/dioxus-desktop-0.5.1/src/launch.rs:76:13
  14: <tokio::task::unconstrained::Unconstrained<F> as core::future::future::Future>::poll::{{closure}}
             at /home/jeancf/.cargo/registry/src/index.crates.io-6f17d22bba15001f/tokio-1.37.0/src/task/unconstrained.rs:25:57
  15: tokio::runtime::coop::with_budget
             at /home/jeancf/.cargo/registry/src/index.crates.io-6f17d22bba15001f/tokio-1.37.0/src/runtime/coop.rs:107:5
  16: tokio::runtime::coop::with_unconstrained
             at /home/jeancf/.cargo/registry/src/index.crates.io-6f17d22bba15001f/tokio-1.37.0/src/runtime/coop.rs:80:5
  17: <tokio::task::unconstrained::Unconstrained<F> as core::future::future::Future>::poll
             at /home/jeancf/.cargo/registry/src/index.crates.io-6f17d22bba15001f/tokio-1.37.0/src/task/unconstrained.rs:25:13
  18: tokio::runtime::park::CachedParkThread::block_on::{{closure}}
             at /home/jeancf/.cargo/registry/src/index.crates.io-6f17d22bba15001f/tokio-1.37.0/src/runtime/park.rs:281:63
  19: tokio::runtime::coop::with_budget
             at /home/jeancf/.cargo/registry/src/index.crates.io-6f17d22bba15001f/tokio-1.37.0/src/runtime/coop.rs:107:5
  20: tokio::runtime::coop::budget
             at /home/jeancf/.cargo/registry/src/index.crates.io-6f17d22bba15001f/tokio-1.37.0/src/runtime/coop.rs:73:5
  21: tokio::runtime::park::CachedParkThread::block_on
             at /home/jeancf/.cargo/registry/src/index.crates.io-6f17d22bba15001f/tokio-1.37.0/src/runtime/park.rs:281:31
  22: tokio::runtime::context::blocking::BlockingRegionGuard::block_on
             at /home/jeancf/.cargo/registry/src/index.crates.io-6f17d22bba15001f/tokio-1.37.0/src/runtime/context/blocking.rs:66:9
  23: tokio::runtime::scheduler::multi_thread::MultiThread::block_on::{{closure}}
             at /home/jeancf/.cargo/registry/src/index.crates.io-6f17d22bba15001f/tokio-1.37.0/src/runtime/scheduler/multi_thread/mod.rs:87:13
  24: tokio::runtime::context::runtime::enter_runtime
             at /home/jeancf/.cargo/registry/src/index.crates.io-6f17d22bba15001f/tokio-1.37.0/src/runtime/context/runtime.rs:65:16
  25: tokio::runtime::scheduler::multi_thread::MultiThread::block_on
             at /home/jeancf/.cargo/registry/src/index.crates.io-6f17d22bba15001f/tokio-1.37.0/src/runtime/scheduler/multi_thread/mod.rs:86:9
  26: tokio::runtime::runtime::Runtime::block_on
             at /home/jeancf/.cargo/registry/src/index.crates.io-6f17d22bba15001f/tokio-1.37.0/src/runtime/runtime.rs:351:45
  27: dioxus_desktop::launch::launch_virtual_dom
             at /home/jeancf/.cargo/registry/src/index.crates.io-6f17d22bba15001f/dioxus-desktop-0.5.1/src/launch.rs:71:5
  28: dioxus_desktop::launch::launch
             at /home/jeancf/.cargo/registry/src/index.crates.io-6f17d22bba15001f/dioxus-desktop-0.5.1/src/launch.rs:95:5
  29: dioxus::launch::LaunchBuilder<Cfg,ContextFn>::launch
             at /home/jeancf/.cargo/registry/src/index.crates.io-6f17d22bba15001f/dioxus-0.5.1/src/launch.rs:171:9
  30: dioxus::launch::launch
             at /home/jeancf/.cargo/registry/src/index.crates.io-6f17d22bba15001f/dioxus-0.5.1/src/launch.rs:280:5
  31: graph::main
             at ./src/main.rs:10:5
  32: core::ops::function::FnOnce::call_once
             at /rustc/25ef9e3d85d934b27d9dada2f9dd52b1dc63bb04/library/core/src/ops/function.rs:250:5

Expected behavior

No crash and content of DragData printed in the log.

Environment:

  • Dioxus version: 0.5.1
  • Rust version: 1.77.2
  • OS info: Manjaro Linux
  • App platform: desktop
@ealmloff ealmloff self-assigned this Apr 22, 2024
@ealmloff ealmloff added bug Something isn't working desktop Suggestions related to the desktop renderer labels Apr 22, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working desktop Suggestions related to the desktop renderer
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants