| 93 | } |
| 94 | |
| 95 | void dialog::OpenError(Plugin *workPlugin, int32_t errorCode, const wchar_t *messageText) |
| 96 | { |
| 97 | if (s_currentDialog != CURRENT_DIALOG_NONE) |
| 98 | return; |
| 99 | |
| 100 | bool isMainThread = thread::ThreadIDCache::Check(); |
| 101 | |
| 102 | CommonGuiDialog::ErrorDialog dialog; |
| 103 | |
| 104 | auto cb = new CommonGuiDialog::EventCBListener(CommonGuiEventHandler, NULL); |
| 105 | |
| 106 | dialog.work_plugin = workPlugin; |
| 107 | dialog.error = errorCode; |
| 108 | dialog.listener = cb; |
| 109 | if (messageText) |
| 110 | dialog.message = messageText; |
| 111 | |
| 112 | if (!isMainThread) |
| 113 | thread::RMutex::MainThreadMutex()->Lock(); |
| 114 | |
| 115 | s_currentDialog = dialog.Show(); |
| 116 | s_currentPlugin = workPlugin; |
| 117 | |
| 118 | if (!isMainThread) |
| 119 | thread::RMutex::MainThreadMutex()->Unlock(); |
| 120 | } |
| 121 | |
| 122 | void dialog::OpenThreeButton( |
| 123 | Plugin *workPlugin, |