Fixed hoverable/focus bug introduced in 3fe6ae97 (#2997)

+ ArrowButtonEx() internal bits.
diff --git a/imgui.cpp b/imgui.cpp
index bb94bdd..86bbd14 100644
--- a/imgui.cpp
+++ b/imgui.cpp
@@ -2834,7 +2834,7 @@
     // FIXME-OPT: This could be cached/stored within the window.
     ImGuiContext& g = *GImGui;
     if (!g.NavWindow)
-        return false;
+        return true;
     if (ImGuiWindow* focused_root_window = g.NavWindow->RootWindow)
         if (focused_root_window->WasActive && focused_root_window != window->RootWindow)
         {
diff --git a/imgui_internal.h b/imgui_internal.h
index e9c39d8..5065255 100644
--- a/imgui_internal.h
+++ b/imgui_internal.h
@@ -1780,7 +1780,7 @@
     IMGUI_API bool          ButtonEx(const char* label, const ImVec2& size_arg = ImVec2(0,0), ImGuiButtonFlags flags = 0);
     IMGUI_API bool          CloseButton(ImGuiID id, const ImVec2& pos);
     IMGUI_API bool          CollapseButton(ImGuiID id, const ImVec2& pos);
-    IMGUI_API bool          ArrowButtonEx(const char* str_id, ImGuiDir dir, ImVec2 size_arg, ImGuiButtonFlags flags);
+    IMGUI_API bool          ArrowButtonEx(const char* str_id, ImGuiDir dir, ImVec2 size_arg, ImGuiButtonFlags flags = 0);
     IMGUI_API void          Scrollbar(ImGuiAxis axis);
     IMGUI_API bool          ScrollbarEx(const ImRect& bb, ImGuiID id, ImGuiAxis axis, float* p_scroll_v, float avail_v, float contents_v, ImDrawCornerFlags rounding_corners);
     IMGUI_API ImGuiID       GetWindowScrollbarID(ImGuiWindow* window, ImGuiAxis axis);
diff --git a/imgui_widgets.cpp b/imgui_widgets.cpp
index 124594d..dc9b053 100644
--- a/imgui_widgets.cpp
+++ b/imgui_widgets.cpp
@@ -720,7 +720,7 @@
 bool ImGui::ArrowButton(const char* str_id, ImGuiDir dir)
 {
     float sz = GetFrameHeight();
-    return ArrowButtonEx(str_id, dir, ImVec2(sz, sz), 0);
+    return ArrowButtonEx(str_id, dir, ImVec2(sz, sz), ImGuiButtonFlags_None);
 }
 
 // Button to close a window