[glom] Fixed a crash when Glom was lanuched via LDTP
- From: Armin Burgmeier <arminb src gnome org>
- To: svn-commits-list gnome org
- Subject: [glom] Fixed a crash when Glom was lanuched via LDTP
- Date: Mon, 25 May 2009 13:50:54 -0400 (EDT)
commit 8fd58e7f8ca441de0efc79deca68f5082434efd7
Author: Armin Burgmeier <armin arbur net>
Date: Mon May 25 19:47:19 2009 +0200
Fixed a crash when Glom was lanuched via LDTP
* glom/dialog_existing_or_new.cc (constructor): Create the top level
list elements before setting the cell data func, to avoid the cell
data func being called before all the list elements have been added.
This happended when Glom was launched via LDTP, leading to a crash.
---
ChangeLog | 7 +++++++
glom/dialog_existing_or_new.cc | 36 +++++++++++++++++-------------------
2 files changed, 24 insertions(+), 19 deletions(-)
diff --git a/ChangeLog b/ChangeLog
index a67bca0..447cd75 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,10 @@
+2009-05-25 Armin Burgmeier <armin openismus com>
+
+ * glom/dialog_existing_or_new.cc (constructor): Create the top level
+ list elements before setting the cell data func, to avoid the cell
+ data func being called before all the list elements have been added.
+ This happended when Glom was launched via LDTP, leading to a crash.
+
2009-05-20 Armin Burgmeier <armin openismus com>
* glom/libglom/connectionpool_backends/backend.h:
diff --git a/glom/dialog_existing_or_new.cc b/glom/dialog_existing_or_new.cc
index 5d06191..c9e7882 100644
--- a/glom/dialog_existing_or_new.cc
+++ b/glom/dialog_existing_or_new.cc
@@ -115,6 +115,23 @@ Dialog_ExistingOrNew::Dialog_ExistingOrNew(BaseObjectType* cobject, const Glib::
m_new_model = Gtk::TreeStore::create(m_new_columns);
m_new_view->set_model(m_new_model);
+ m_iter_existing_other = m_existing_model->append();
+ (*m_iter_existing_other)[m_existing_columns.m_col_title] = _("Select File");
+
+#ifndef G_OS_WIN32
+ m_iter_existing_network = m_existing_model->append();
+ (*m_iter_existing_network)[m_existing_columns.m_col_title] = _("Local Network");
+#endif
+
+ m_iter_existing_recent = m_existing_model->append();
+ (*m_iter_existing_recent)[m_existing_columns.m_col_title] = _("Recently Opened");
+
+ m_iter_new_empty = m_new_model->append();
+ (*m_iter_new_empty)[m_new_columns.m_col_title] = _("New Empty Document");
+
+ m_iter_new_template = m_new_model->append();
+ (*m_iter_new_template)[m_new_columns.m_col_title] = _("New From Template");
+
m_existing_column_title.set_expand(true);
m_existing_column_title.pack_start(m_existing_icon_renderer, false);
m_existing_column_title.pack_start(m_existing_title_renderer, true);
@@ -122,7 +139,6 @@ Dialog_ExistingOrNew::Dialog_ExistingOrNew(BaseObjectType* cobject, const Glib::
m_existing_column_title.set_cell_data_func(m_existing_title_renderer, sigc::mem_fun(*this, &Dialog_ExistingOrNew::existing_title_data_func));
m_existing_view->append_column(m_existing_column_title);
-
m_new_column_title.set_expand(true);
m_new_column_title.pack_start(m_new_icon_renderer, false);
m_new_column_title.pack_start(m_new_title_renderer, true);
@@ -135,24 +151,6 @@ Dialog_ExistingOrNew::Dialog_ExistingOrNew(BaseObjectType* cobject, const Glib::
m_new_view->set_headers_visible(false);
m_new_view->signal_row_activated().connect(sigc::mem_fun(*this, &Dialog_ExistingOrNew::on_new_row_activated));
- m_iter_existing_other = m_existing_model->append();
- (*m_iter_existing_other)[m_existing_columns.m_col_title] = _("Select File");
-
-#ifndef G_OS_WIN32
- m_iter_existing_network = m_existing_model->append();
- (*m_iter_existing_network)[m_existing_columns.m_col_title] = _("Local Network");
-#endif
-
- m_iter_existing_recent = m_existing_model->append();
- (*m_iter_existing_recent)[m_existing_columns.m_col_title] = _("Recently Opened");
-
- m_iter_new_empty = m_new_model->append();
- (*m_iter_new_empty)[m_new_columns.m_col_title] = _("New Empty Document");
-
- m_iter_new_template = m_new_model->append();
- (*m_iter_new_template)[m_new_columns.m_col_title] = _("New From Template");
-
-
// Load example files:
#ifndef GLOM_ENABLE_CLIENT_ONLY
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]