diff --git a/electron_drag_click.mm b/electron_drag_click.mm
index 5e620a30..f6fd76d3 100644
--- a/electron_drag_click.mm
+++ b/electron_drag_click.mm
@@ -27,15 +27,22 @@ NSView* viewUnderneathPoint(NSView* self, NSPoint point) {
}
NSView* swizzledHitTest(id obj, SEL sel, NSPoint point) {
+ NSView* view = obj;
NSView* originalReturn =
((NSView*(*) (id, SEL, NSPoint))g_originalHitTest)(obj, sel, point);
+ // Do the original implementation when window is not focused, so window can be
+ // dragged immediately even, when not focused.
+ if (!view.window.isKeyWindow) {
+ return originalReturn;
+ }
+
objc_setAssociatedObject(obj,
&kIsDraggableKey,
@(originalReturn == nil),
OBJC_ASSOCIATION_COPY_NONATOMIC);
- NSView* viewUnderPoint = viewUnderneathPoint(obj, point);
+ NSView* viewUnderPoint = viewUnderneathPoint(view, point);
return [viewUnderPoint hitTest:point];
}
diff --git a/test/index.html b/test/index.html
index 4fbf423b..b4d2b822 100644
--- a/test/index.html
+++ b/test/index.html
@@ -31,11 +31,14 @@
+
+
+