]> git.eshelyaron.com Git - emacs.git/commitdiff
(x_menubar_window_to_frame): New function.
authorRichard M. Stallman <rms@gnu.org>
Tue, 25 Jul 1995 20:10:03 +0000 (20:10 +0000)
committerRichard M. Stallman <rms@gnu.org>
Tue, 25 Jul 1995 20:10:03 +0000 (20:10 +0000)
src/xfns.c

index 6ad4ed9683c5e9f0a9d6d4720afeaec73d847857..235d6027e29b91259e6341ee96d6998ee10d9773 100644 (file)
@@ -358,6 +358,33 @@ x_non_menubar_window_to_frame (dpyinfo, wdesc)
   return 0;
 }
 
+/* Likewise, but consider only the menu bar widget.  */
+
+struct frame *
+x_menubar_window_to_frame (dpyinfo, wdesc)
+     struct x_display_info *dpyinfo;
+     int wdesc;
+{
+  Lisp_Object tail, frame;
+  struct frame *f;
+  struct x_display *x;
+
+  for (tail = Vframe_list; GC_CONSP (tail); tail = XCONS (tail)->cdr)
+    {
+      frame = XCONS (tail)->car;
+      if (!GC_FRAMEP (frame))
+        continue;
+      f = XFRAME (frame);
+      if (f->display.nothing == 1 || FRAME_X_DISPLAY_INFO (f) != dpyinfo)
+       continue;
+      x = f->display.x;
+      /* Match if the window is this frame's menubar.  */
+      if (lw_window_is_in_menubar (wdesc, x->menubar_widget))
+       return f;
+    }
+  return 0;
+}
+
 /* Return the frame whose principal (outermost) window is WDESC.
    If WDESC is some other (smaller) window, we return 0.  */