mirror of
https://github.com/microsoft/PowerToys.git
synced 2025-12-14 18:57:55 +01:00
fix tray icon close isssue
This commit is contained in:
@@ -35,25 +35,27 @@ namespace
|
||||
void AdvancedPasteProcessManager::start()
|
||||
{
|
||||
m_enabled = true;
|
||||
submit_task([this]() { refresh(); });
|
||||
auto future = submit_task([this]() { refresh(); });
|
||||
future.wait();
|
||||
}
|
||||
|
||||
void AdvancedPasteProcessManager::stop()
|
||||
{
|
||||
m_enabled = false;
|
||||
submit_task([this]() { refresh(); });
|
||||
auto future = submit_task([this]() { refresh(); });
|
||||
future.wait();
|
||||
}
|
||||
|
||||
void AdvancedPasteProcessManager::send_message(const std::wstring& message_type, const std::wstring& message_arg)
|
||||
{
|
||||
submit_task([this, message_type, message_arg] {
|
||||
(void)submit_task([this, message_type, message_arg] {
|
||||
send_named_pipe_message(message_type, message_arg);
|
||||
});
|
||||
}
|
||||
|
||||
void AdvancedPasteProcessManager::bring_to_front()
|
||||
{
|
||||
submit_task([this] {
|
||||
(void)submit_task([this] {
|
||||
if (!is_process_running())
|
||||
{
|
||||
return;
|
||||
@@ -76,9 +78,9 @@ void AdvancedPasteProcessManager::bring_to_front()
|
||||
});
|
||||
}
|
||||
|
||||
void AdvancedPasteProcessManager::submit_task(std::function<void()> task)
|
||||
std::future<void> AdvancedPasteProcessManager::submit_task(std::function<void()> task)
|
||||
{
|
||||
m_thread_executor.submit(OnThreadExecutor::task_t{ task });
|
||||
return m_thread_executor.submit(OnThreadExecutor::task_t{ std::move(task) });
|
||||
}
|
||||
|
||||
bool AdvancedPasteProcessManager::is_process_running() const
|
||||
|
||||
@@ -7,6 +7,7 @@
|
||||
#include <memory>
|
||||
#include <functional>
|
||||
#include <optional>
|
||||
#include <future>
|
||||
|
||||
class AdvancedPasteProcessManager
|
||||
{
|
||||
@@ -21,7 +22,7 @@ public:
|
||||
void bring_to_front();
|
||||
|
||||
private:
|
||||
void submit_task(std::function<void()> task);
|
||||
std::future<void> submit_task(std::function<void()> task);
|
||||
bool is_process_running() const;
|
||||
void terminate_process();
|
||||
HRESULT start_process(const std::wstring& pipe_name);
|
||||
|
||||
Reference in New Issue
Block a user