From 35e00ce897c1301f292973f13f6bd4464f248414 Mon Sep 17 00:00:00 2001 From: sniperbeamer Date: Sun, 13 Sep 2009 14:43:10 +0000 Subject: [PATCH] Fix auto-type focused window protection when application has sub-windows git-svn-id: https://svn.code.sf.net/p/keepassx/code/trunk@342 b624d157-de02-0410-bad0-e51aec6abb33 --- src/lib/AutoTypeX11.cpp | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/src/lib/AutoTypeX11.cpp b/src/lib/AutoTypeX11.cpp index e31970e..07ec665 100644 --- a/src/lib/AutoTypeX11.cpp +++ b/src/lib/AutoTypeX11.cpp @@ -62,6 +62,21 @@ Window AutoTypeX11::getFocusWindow() { Window w; int revert_to_return; XGetInputFocus(dpy, &w, &revert_to_return); + int tree; + do { + XTextProperty textProp; + if (XGetWMName(dpy, w, &textProp) != 0) { + break; + } + Window root = 0; + Window parent = 0; + Window* children = NULL; + unsigned int num_children; + tree = XQueryTree(dpy, w, &root, &parent, &children, &num_children); + w = parent; + if (children) XFree(children); + } while (tree && w); + return w; }