Add clean shutdown, wallet safety, and UI contrast fixes

Shutdown:
- Call litelib_shutdown() to stop Rust background threads on exit
- Add 15-second timeout on wallet save dialog to prevent hang on close
- Add litelib_shutdown FFI declaration in header and controller

UI Contrast (dragonx theme):
- Fix disabled buttons: white text was invisible on white background
- Add QWizard, QMessageBox, QTextBrowser, QPlainTextEdit styling for dark theme
- Add QCheckBox, QRadioButton, QDialogButtonBox contrast rules
- Fix seed word verification buttons: dark themed with explicit text color
- Fix chat bubbles: replace light backgrounds with dark themed colors
- Fix Terms of Service link color: #0000ff -> #6699ff for visibility
- Remove duplicate conflicting QLabel#lblMessage CSS rule

Add v1.1.0 release notes with checksums
This commit is contained in:
2026-03-21 05:39:19 -05:00
parent e601048fd8
commit cc34cc3f21
10 changed files with 187 additions and 39 deletions

View File

@@ -290,6 +290,20 @@ pub extern "C" fn litelib_check_server_online(server: *const c_char) -> bool {
}
}
/// Cleanly shut down the light client, stopping mempool monitor threads.
/// Must be called before exit to prevent hangs.
#[no_mangle]
pub extern "C" fn litelib_shutdown() {
let lc_option = match LIGHTCLIENT.lock() {
Ok(l) => l.borrow().clone(),
Err(poisoned) => poisoned.into_inner().borrow().clone(),
};
if let Some(lc) = lc_option {
lc.shutdown();
}
}
/**
* Callers that receive string return values from other functions should call this to return the string
* back to rust, so it can be freed. Failure to call this function will result in a memory leak