summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/com/android/browser/Controller.java19
-rw-r--r--src/com/android/browser/PhoneUi.java2
2 files changed, 16 insertions, 5 deletions
diff --git a/src/com/android/browser/Controller.java b/src/com/android/browser/Controller.java
index 3f126c07c..24072c9e0 100644
--- a/src/com/android/browser/Controller.java
+++ b/src/com/android/browser/Controller.java
@@ -2684,23 +2684,32 @@ public class Controller
}
public boolean dispatchKeyEvent(KeyEvent event) {
- return mBlockEvents;
+ return mBlockEvents || hasNoActiveTab();
}
public boolean dispatchKeyShortcutEvent(KeyEvent event) {
- return mBlockEvents;
+ return mBlockEvents || hasNoActiveTab();
}
public boolean dispatchTouchEvent(MotionEvent ev) {
- return mBlockEvents;
+ return mBlockEvents || hasNoActiveTab();
}
public boolean dispatchTrackballEvent(MotionEvent ev) {
- return mBlockEvents;
+ return mBlockEvents || hasNoActiveTab();
}
public boolean dispatchGenericMotionEvent(MotionEvent ev) {
- return mBlockEvents;
+ return mBlockEvents || hasNoActiveTab();
+ }
+
+ private boolean hasNoActiveTab() {
+ Tab tab = getCurrentTab();
+ if (tab == null) {
+ Log.w(LOGTAG, "Received event with no active tab. Tab count: "
+ + mTabControl.getTabCount());
+ }
+ return tab == null;
}
}
diff --git a/src/com/android/browser/PhoneUi.java b/src/com/android/browser/PhoneUi.java
index d77fcdb1a..23d7abb63 100644
--- a/src/com/android/browser/PhoneUi.java
+++ b/src/com/android/browser/PhoneUi.java
@@ -329,10 +329,12 @@ public class PhoneUi extends BaseUi {
final Tab tab = mNavScreen.getSelectedTab();
if ((tab != null) && !animate) {
finishAnimateOut(tab);
+ return;
}
NavTabView tabview = (NavTabView) mNavScreen.getSelectedTabView();
if (tabview == null) {
finishAnimateOut(tab);
+ return;
}
mUiController.setBlockEvents(true);
mUiController.setActiveTab(tab);