diff --git a/qrenderdoc/3rdparty/scintilla/qt/ScintillaEditBase/PlatQt.cpp b/qrenderdoc/3rdparty/scintilla/qt/ScintillaEditBase/PlatQt.cpp index cfc8b9837..fd41e579b 100644 --- a/qrenderdoc/3rdparty/scintilla/qt/ScintillaEditBase/PlatQt.cpp +++ b/qrenderdoc/3rdparty/scintilla/qt/ScintillaEditBase/PlatQt.cpp @@ -814,29 +814,38 @@ void ListBoxImpl::Create(Window &parent, unicodeMode = unicodeMode_; QWidget *qparent = static_cast(parent.GetID()); - ListWidget *list = new ListWidget(qparent); + + ListWidget *list; + if(wid) + { + list = (ListWidget *)window(wid); + } + else + { + list = new ListWidget(qparent); #if defined(Q_OS_WIN) - // On Windows, Qt::ToolTip causes a crash when the list is clicked on - // so Qt::Tool is used. - list->setParent(0, Qt::Tool | Qt::FramelessWindowHint | Qt::WindowStaysOnTopHint + // On Windows, Qt::ToolTip causes a crash when the list is clicked on + // so Qt::Tool is used. + list->setParent(0, Qt::Tool | Qt::FramelessWindowHint | Qt::WindowStaysOnTopHint #if QT_VERSION >= QT_VERSION_CHECK(5, 0, 0) - | Qt::WindowDoesNotAcceptFocus + | Qt::WindowDoesNotAcceptFocus #endif - ); + ); #else - // On OS X, Qt::Tool takes focus so main window loses focus so - // keyboard stops working. Qt::ToolTip works but its only really - // documented for tooltips. - // On Linux / X this setting allows clicking on list items. - list->setParent(0, Qt::ToolTip | Qt::FramelessWindowHint); + // On OS X, Qt::Tool takes focus so main window loses focus so + // keyboard stops working. Qt::ToolTip works but its only really + // documented for tooltips. + // On Linux / X this setting allows clicking on list items. + list->setParent(0, Qt::ToolTip | Qt::FramelessWindowHint); #endif + } list->setAttribute(Qt::WA_ShowWithoutActivating); list->setFocusPolicy(Qt::NoFocus); list->setUniformItemSizes(true); list->setVerticalScrollBarPolicy(Qt::ScrollBarAsNeeded); list->setHorizontalScrollBarPolicy(Qt::ScrollBarAlwaysOff); - list->move(location.x, location.y); + //list->move(location.x, location.y); int maxIconWidth = 0; int maxIconHeight = 0; @@ -1023,6 +1032,7 @@ void ListBoxImpl::SetDoubleClickAction(CallBackAction action, void *data) void ListBoxImpl::SetList(const char *list, char separator, char typesep) { + window(wid)->setUpdatesEnabled(false); // This method is *not* platform dependent. // It is borrowed from the GTK implementation. Clear(); @@ -1048,6 +1058,7 @@ void ListBoxImpl::SetList(const char *list, char separator, char typesep) *numword = '\0'; Append(startword, numword?atoi(numword + 1):-1); } + window(wid)->setUpdatesEnabled(true); } ListBox::ListBox() {} diff --git a/qrenderdoc/3rdparty/scintilla/src/AutoComplete.cxx b/qrenderdoc/3rdparty/scintilla/src/AutoComplete.cxx index 3f3570283..167f46398 100644 --- a/qrenderdoc/3rdparty/scintilla/src/AutoComplete.cxx +++ b/qrenderdoc/3rdparty/scintilla/src/AutoComplete.cxx @@ -60,9 +60,6 @@ bool AutoComplete::Active() const { void AutoComplete::Start(Window &parent, int ctrlID, int position, Point location, int startLen_, int lineHeight, bool unicodeMode, int technology) { - if (active) { - Cancel(); - } lb->Create(parent, ctrlID, location, lineHeight, unicodeMode, technology); lb->Clear(); active = true; diff --git a/qrenderdoc/3rdparty/scintilla/src/ScintillaBase.cxx b/qrenderdoc/3rdparty/scintilla/src/ScintillaBase.cxx index 08b9fe829..100456411 100644 --- a/qrenderdoc/3rdparty/scintilla/src/ScintillaBase.cxx +++ b/qrenderdoc/3rdparty/scintilla/src/ScintillaBase.cxx @@ -288,7 +288,7 @@ void ScintillaBase::AutoCompleteStart(int lenEntered, const char *list) { } rcac.right = rcac.left + widthLB; rcac.bottom = static_cast(Platform::Minimum(static_cast(rcac.top) + heightLB, static_cast(rcPopupBounds.bottom))); - ac.lb->SetPositionRelative(rcac, wMain); + //ac.lb->SetPositionRelative(rcac, wMain); ac.lb->SetFont(vs.styles[STYLE_DEFAULT].font); unsigned int aveCharWidth = static_cast(vs.styles[STYLE_DEFAULT].aveCharWidth); ac.lb->SetAverageCharWidth(aveCharWidth);