| 157 | } |
| 158 | |
| 159 | void GrApplication::Exit() { |
| 160 | if (win_msg_loop_) { |
| 161 | win_msg_loop_->Stop(); |
| 162 | } |
| 163 | if (win_msg_thread_ && win_msg_thread_->IsJoinable()) { |
| 164 | win_msg_thread_->Join(); |
| 165 | } |
| 166 | if (spvr_scanner_) { |
| 167 | spvr_scanner_->Exit(); |
| 168 | } |
| 169 | context_->Exit(); |
| 170 | } |
| 171 | |
| 172 | bool GrApplication::nativeEventFilter(const QByteArray &eventType, void *message, qintptr *result) { |
| 173 | if(eventType == "windows_generic_MSG" || eventType == "windows_dispatcher_MSG") |