bool getPixmap(QPixmap & pixmap, QString const & path)
{
if (pixmap.load(path)) {
+#if QT_VERSION >= 0x050000
if (path.endsWith(".svgz") || path.endsWith(".svg") ) {
GuiApplication const * guiApp = theGuiApp();
if (guiApp != 0) {
pixmap.setDevicePixelRatio(guiApp->pixelRatio());
}
}
+#endif
return true;
}
return false;
///
KeyModifier meta_fake_bit;
+ /// The result of last dispatch action
+ DispatchResult dispatch_result_;
+
/// Multiple views container.
/**
* Warning: This must not be a smart pointer as the destruction of the
}
-void GuiApplication::dispatch(FuncRequest const & cmd)
+DispatchResult const & GuiApplication::dispatch(FuncRequest const & cmd)
{
Buffer * buffer = 0;
if (current_view_ && current_view_->currentBufferView()) {
// the buffer may have been closed by one action
if (theBufferList().isLoaded(buffer))
buffer->undo().endUndoGroup();
+
+ d->dispatch_result_ = dr;
+ return d->dispatch_result_;
}
}
// Make sure we don't keep old colors in cache.
d->color_cache_.clear();
+ // Update the current view
+ lyx::dispatch(FuncRequest(LFUN_SCREEN_FONT_UPDATE));
break;
}
void GuiApplication::unregisterView(GuiView * gv)
{
- LAPPERR(d->views_[gv->id()] == gv);
- d->views_.remove(gv->id());
- if (current_view_ == gv)
- current_view_ = 0;
+ if(d->views_.contains(gv->id()) && d->views_.value(gv->id()) == gv) {
+ d->views_.remove(gv->id());
+ if (current_view_ == gv)
+ current_view_ = 0;
+ }
}
}
#elif defined(QPA_XCB)
bool GuiApplication::nativeEventFilter(const QByteArray & eventType,
- void * message, long *) Q_DECL_OVERRIDE
+ void * message, long *)
{
if (!current_view_ || eventType != "xcb_generic_event_t")
return false;