From da9836a92ef69bb93e521985976db0322e2d5316 Mon Sep 17 00:00:00 2001 From: dec05eba Date: Wed, 28 Jul 2021 21:19:11 +0200 Subject: Fix submit without selected item (in matrix room directory and invites page) --- src/QuickMedia.cpp | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) (limited to 'src/QuickMedia.cpp') diff --git a/src/QuickMedia.cpp b/src/QuickMedia.cpp index b52678d..6069cf9 100644 --- a/src/QuickMedia.cpp +++ b/src/QuickMedia.cpp @@ -1702,9 +1702,13 @@ namespace QuickMedia { std::function submit_handler = [this, &submit_handler, &after_submit_handler, &tabs, &tab_associated_data, &ui_tabs, &loop_running, &redraw](const std::string &search_text) { const int selected_tab = ui_tabs.get_selected(); auto selected_item = tabs[selected_tab].body->get_selected_shared(); + if(!selected_item && search_text.empty()) + return; + if(tabs[selected_tab].page->allow_submit_no_selection() && (sf::Keyboard::isKeyPressed(sf::Keyboard::LControl) || sf::Keyboard::isKeyPressed(sf::Keyboard::RControl))) selected_item = nullptr; - if(!selected_item && (!tabs[selected_tab].page->allow_submit_no_selection() || search_text.empty())) + + if(!selected_item && !tabs[selected_tab].page->allow_submit_no_selection()) return; hide_virtual_keyboard(); @@ -1714,7 +1718,7 @@ namespace QuickMedia { tabs[selected_tab].page->submit_body_item = selected_item; auto plugin_submit_handler = [&tabs, selected_tab, &selected_item, &search_text, &new_tabs]() { - PluginResult plugin_result = tabs[selected_tab].page->submit(selected_item ? selected_item->get_title() : search_text, selected_item ? selected_item->url : "", new_tabs); + PluginResult plugin_result = tabs[selected_tab].page->submit(selected_item ? selected_item->get_title() : search_text, selected_item ? selected_item->url : search_text, new_tabs); return plugin_result == PluginResult::OK; }; @@ -4265,8 +4269,10 @@ namespace QuickMedia { captcha_slide_fg.set_size(sf::Vector2f(std::floor(captcha_slide_fg_size.x * captcha_slide), captcha_slide_fg_size.y)); captcha_slide_fg.set_position(captcha_slide_bg.get_position() + sf::Vector2f(captcha_slide_padding_x, captcha_slide_padding_y)); - captcha_slide_bg.draw(window); - captcha_slide_fg.draw(window); + if(has_captcha_bg) { + captcha_slide_bg.draw(window); + captcha_slide_fg.draw(window); + } captcha_solution_text.setPosition( sf::Vector2f( -- cgit v1.2.3