DioxusLabs / DioxusLabs/dioxus

Plugin use case for Dioxus Desktop

Open
#5,170 1 comment 1 reaction 0 assignees View on GitHub
Dominant language
Rust
Stars
39.1k
Forks
1.9k
Avg merge
4d 10h
Merged PRs (30d)
4

Description

Fixed by https://github.com/DioxusLabs/dioxus/pull/5169

- We build a Rust add-in/plugin that runs inside an existing Windows application's process.
- We use dioxus-desktop to render UI in a child/embedded window.
- The plugin can be enabled/disabled (loaded/unloaded) at runtime.

Problem
- When the plugin is disabled/unloaded, we shut down the dioxus-desktop event loop (e.g. close the window / post WM_QUIT).
- On Windows, tao::EventLoop::run ultimately calls std::process::exit(...) when the event loop exits.
- This terminates the entire host process, even though the UI/event loop is running on a worker thread.
- Result: disabling/unloading the plugin unexpectedly closes the host application.

Expected
- Shutting down an embedded dioxus-desktop UI should stop only the embedded UI/event-loop thread.
- It must not call std::process::exit or terminate the host process.

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.