diff --git a/escher/include/escher/responder.h b/escher/include/escher/responder.h index 7a7ed7cd6..3792bffaa 100644 --- a/escher/include/escher/responder.h +++ b/escher/include/escher/responder.h @@ -11,7 +11,6 @@ public: virtual bool handleEvent(ion_event_t event); // Default implementation does nothing virtual void setFocused(bool focused); // Default implementation does nothing. Used by subclasses to know when active or not Responder * parentResponder(); -protected: void setParentResponder(Responder * responder); private: Responder * m_parentResponder; diff --git a/escher/src/tab_view_controller.cpp b/escher/src/tab_view_controller.cpp index 1d6091796..a1b92f610 100644 --- a/escher/src/tab_view_controller.cpp +++ b/escher/src/tab_view_controller.cpp @@ -2,6 +2,7 @@ extern "C" { #include } #include +#include TabViewController::ContentView::ContentView() : View(), @@ -66,6 +67,9 @@ TabViewController::TabViewController(ViewController * one, ViewController * two) m_children[0] = one; m_children[1] = two; + one->setParentResponder(this); + two->setParentResponder(this); + // TODO: This should be lazy loaded! // So this code should live in view() for (int i=0; iview()); m_view.m_tabView.setActiveIndex(i); m_activeChildIndex = i; - m_view.markAsNeedingRedraw(); + + App::runningApp()->focus(activeVC); } View * TabViewController::view() {