diff --git a/scripts/checks.m4 b/scripts/checks.m4 index 48646f90..aa64b705 100644 --- a/scripts/checks.m4 +++ b/scripts/checks.m4 @@ -331,3 +331,24 @@ AC_DEFUN([TORRENT_WITHOUT_STATFS], [ fi ]) ]) + +AC_DEFUN([TORRENT_WITH_ADDRESS_SPACE], [ + AC_ARG_WITH(address-space, + AC_HELP_STRING([--with-address-space=MB], [Change the default address space size, default 1024 MB.]), + [ + if test ! -z $withval -a "$withval" != "yes" -a "$withval" != "no"; then + AC_DEFINE_UNQUOTED(DEFAULT_ADDRESS_SPACE_SIZE, [$withval]) + else + AC_MSG_ERROR(--with-address-space requires a parameter.) + fi + ], + [ + AC_CHECK_SIZEOF(long) + + if test "$ac_cv_sizeof_long" = "4"; then + AC_DEFINE(DEFAULT_ADDRESS_SPACE_SIZE, 4096, Default address space size.) + else + AC_DEFINE(DEFAULT_ADDRESS_SPACE_SIZE, 1024, Default address space size.) + fi + ]) +]) diff --git a/src/display/manager.cc b/src/display/manager.cc index 1bb5773e..1bfc577a 100644 --- a/src/display/manager.cc +++ b/src/display/manager.cc @@ -66,19 +66,21 @@ void Manager::schedule(Window* w, rak::timer t) { rak::priority_queue_erase(&m_scheduler, w->task_update()); rak::priority_queue_insert(&m_scheduler, w->task_update(), t); - schedule_update(); + schedule_update(50000); } void Manager::unschedule(Window* w) { rak::priority_queue_erase(&m_scheduler, w->task_update()); - schedule_update(); + schedule_update(50000); } void Manager::adjust_layout() { Canvas::redraw_std(); m_rootFrame.balance(0, 0, Canvas::get_screen_width(), Canvas::get_screen_height()); + + schedule_update(0); } void @@ -101,11 +103,11 @@ Manager::receive_update() { Canvas::do_update(); m_timeLastUpdate = cachedTime; - schedule_update(); + schedule_update(50000); } void -Manager::schedule_update() { +Manager::schedule_update(uint32_t minInterval) { if (m_scheduler.empty()) { rak::priority_queue_erase(&taskScheduler, &m_taskUpdate); return; @@ -113,7 +115,7 @@ Manager::schedule_update() { if (!m_taskUpdate.is_queued() || m_taskUpdate.time() > m_scheduler.top()->time()) { rak::priority_queue_erase(&taskScheduler, &m_taskUpdate); - rak::priority_queue_insert(&taskScheduler, &m_taskUpdate, std::max(m_scheduler.top()->time(), m_timeLastUpdate + 50000)); + rak::priority_queue_insert(&taskScheduler, &m_taskUpdate, std::max(m_scheduler.top()->time(), m_timeLastUpdate + minInterval)); } } diff --git a/src/display/manager.h b/src/display/manager.h index 602561d8..74a2cab5 100644 --- a/src/display/manager.h +++ b/src/display/manager.h @@ -63,7 +63,7 @@ public: Frame* root_frame() { return &m_rootFrame; } private: - void schedule_update(); + void schedule_update(uint32_t minInterval); bool m_forceRedraw; rak::timer m_timeLastUpdate; diff --git a/src/ui/element_file_list.cc b/src/ui/element_file_list.cc index 63dea7d3..d4dcc86f 100644 --- a/src/ui/element_file_list.cc +++ b/src/ui/element_file_list.cc @@ -40,6 +40,7 @@ #include #include "display/frame.h" +#include "display/manager.h" #include "display/window_file_list.h" #include "input/manager.h" @@ -77,6 +78,8 @@ ElementFileList::activate(display::Frame* frame, bool focus) { m_frame = frame; m_frame->initialize_window(m_window); + +// control->display()->adjust_layout(); } void