diff --git a/README.md b/README.md index 9f0b9b9..e1ca562 100644 --- a/README.md +++ b/README.md @@ -53,3 +53,11 @@ This text Russian language. - построении плана с замерами в заголовках строк указывается процент времени выполнения узла (только операции узла но не вложенных узлов) - +11.01.2019 + - исправлены падения приложения при открытии таблицы по нажатию F4 + +26.01.2019 + - исправлены падения приложения при вводе ( в окне редактирования кода) + - ускорено открытие диалога "новая функция", "новая таблицы". + + diff --git a/Release_(3.0)/pgAdmin3.exe b/Release_(3.0)/pgAdmin3.exe index 2e92771..d662342 100644 Binary files a/Release_(3.0)/pgAdmin3.exe and b/Release_(3.0)/pgAdmin3.exe differ diff --git a/ctl/ctlComboBox.cpp b/ctl/ctlComboBox.cpp index 0dca72a..78214a8 100644 --- a/ctl/ctlComboBox.cpp +++ b/ctl/ctlComboBox.cpp @@ -67,6 +67,7 @@ int ctlComboBoxFix::FillOidKey(pgConn *conn, const wxChar *qry) { int cnt = 0; pgSetIterator set(conn->ExecuteSet(qry)); + Freeze(); while (set.RowsLeft()) { OID oid = set.GetOid(0); @@ -74,6 +75,7 @@ int ctlComboBoxFix::FillOidKey(pgConn *conn, const wxChar *qry) Append(txt, oid); cnt++; } + Thaw(); return cnt; } diff --git a/ctl/ctlSQLBox.cpp b/ctl/ctlSQLBox.cpp index 71ff574..ec7e367 100644 --- a/ctl/ctlSQLBox.cpp +++ b/ctl/ctlSQLBox.cpp @@ -95,7 +95,7 @@ void ctlSQLBox::Create(wxWindow *parent, wxWindowID id, const wxPoint &pos, cons // Clear all styles StyleClearAll(); - + m_name=NULL; // Font extern sysSettings *settings; wxFont fntSQLBox = settings->GetSQLFont(); @@ -456,7 +456,9 @@ bool ctlSQLBox::DoFind(const wxString &find, const wxString &replace, bool doRep return false; } void ctlSQLBox::SetAutoReplaceList(queryMacroList *autorep) { - autoreplace=autorep; + if (!autorep) { + autoreplace = queryMacroFileProvider::LoadAutoReplace(true); + } else autoreplace=autorep; } void ctlSQLBox::SetDefFunction(wxArrayString &name, wxArrayString &def) { m_name=&name; diff --git a/dlg/dlgColumn.cpp b/dlg/dlgColumn.cpp index be68a67..a2ec0a6 100644 --- a/dlg/dlgColumn.cpp +++ b/dlg/dlgColumn.cpp @@ -270,12 +270,14 @@ int dlgColumn::Go(bool modal) wxT(" ORDER BY nspname, collname")); if (set) { + cbCollation->Freeze(); while (!set->Eof()) { wxString name = qtIdent(set->GetVal(wxT("nspname"))) + wxT(".") + qtIdent(set->GetVal(wxT("collname"))); cbCollation->Append(name); set->MoveNext(); } + cbCollation->Thaw(); delete set; } cbCollation->SetSelection(0); diff --git a/dlg/dlgFunction.cpp b/dlg/dlgFunction.cpp index fb438e8..57e906e 100644 --- a/dlg/dlgFunction.cpp +++ b/dlg/dlgFunction.cpp @@ -418,6 +418,8 @@ int dlgFunction::Go(bool modal) restrict += wxT(" AND nspname NOT LIKE E'pg\\\\_toast%' AND nspname NOT LIKE E'pg\\\\_temp%'"); DatatypeReader tr(database, restrict); + cbDatatype->Freeze(); + cbReturntype->Freeze(); while (tr.HasMore()) { pgDatatype dt = tr.GetDatatype(); @@ -430,7 +432,8 @@ int dlgFunction::Go(bool modal) cbReturntype->Append(dt.GetQuotedSchemaPrefix(database) + dt.QuotedFullName()); tr.MoveNext(); } - + cbDatatype->Thaw(); + cbReturntype->Thaw(); long sel; if (factory == &triggerFunctionFactory) { diff --git a/dlg/dlgTable.cpp b/dlg/dlgTable.cpp index b6f8a67..a4b755b 100644 --- a/dlg/dlgTable.cpp +++ b/dlg/dlgTable.cpp @@ -492,6 +492,7 @@ int dlgTable::Go(bool modal) wxT(" ORDER BY relnamespace, c.relname")); if (set) { + cbTables->Freeze(); while (!set->Eof()) { cbTables->Append(database->GetQuotedSchemaPrefix(set->GetVal(wxT("nspname"))) @@ -500,6 +501,7 @@ int dlgTable::Go(bool modal) tableOids.Add(set->GetVal(wxT("oid"))); set->MoveNext(); } + cbTables->Thaw(); delete set; } }