diff --git a/src/results.cpp b/src/results.cpp index f19afe1d..fe9b40ed 100644 --- a/src/results.cpp +++ b/src/results.cpp @@ -177,9 +177,14 @@ void Results::update_tableview() m_mode = Mode::TableView; break; case Mode::TableView: - if (m_live) { - m_table_view.sync_if_needed(); + if (!m_live) { + return; } + if (!m_realm->config().read_only && !m_realm->is_in_transaction() && !m_background_query) { + m_background_query = std::make_shared<_impl::AsyncQuery>(*this); + _impl::RealmCoordinator::register_query(m_background_query); + } + m_table_view.sync_if_needed(); break; } }