summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEli Zaretskii <eliz@gnu.org>2014-10-08 13:39:45 +0300
committerEli Zaretskii <eliz@gnu.org>2014-10-08 13:39:45 +0300
commitd295469e8e3aa3d3ee0543aea1a59aad63c467dc (patch)
tree015adad6168866f4198d7a0287a6469ca6658950
parent23755ba32b9baeff4173e317624ceb89fc274468 (diff)
downloademacs-d295469e8e3aa3d3ee0543aea1a59aad63c467dc.tar.gz
Accept terminal devices on MS-Windows in APIs that accept frame or display.
src/w32fns.c (check_x_display_info): Accept terminal objects as argument, to follow what xfns.c does.
-rw-r--r--src/ChangeLog5
-rw-r--r--src/w32fns.c21
2 files changed, 20 insertions, 6 deletions
diff --git a/src/ChangeLog b/src/ChangeLog
index 1b77d1c9aa1..6acd46594b0 100644
--- a/src/ChangeLog
+++ b/src/ChangeLog
@@ -1,3 +1,8 @@
+2014-10-08 Eli Zaretskii <eliz@gnu.org>
+
+ * w32fns.c (check_x_display_info): Accept terminal objects as
+ argument, to follow what xfns.c does.
+
2014-10-07 Glenn Morris <rgm@gnu.org>
* Makefile.in ($(srcdir)/macuvs.h)
diff --git a/src/w32fns.c b/src/w32fns.c
index e61a438622f..bfa69fb61cd 100644
--- a/src/w32fns.c
+++ b/src/w32fns.c
@@ -263,9 +263,9 @@ static unsigned int sound_type = 0xFFFFFFFF;
the first display on the list. */
struct w32_display_info *
-check_x_display_info (Lisp_Object frame)
+check_x_display_info (Lisp_Object object)
{
- if (NILP (frame))
+ if (NILP (object))
{
struct frame *sf = XFRAME (selected_frame);
@@ -274,14 +274,23 @@ check_x_display_info (Lisp_Object frame)
else
return &one_w32_display_info;
}
- else if (STRINGP (frame))
- return x_display_info_for_name (frame);
+ else if (TERMINALP (object))
+ {
+ struct terminal *t = get_terminal (object, 1);
+
+ if (t->type != output_w32)
+ error ("Terminal %d is not a W32 display", t->id);
+
+ return t->display_info.w32;
+ }
+ else if (STRINGP (object))
+ return x_display_info_for_name (object);
else
{
struct frame *f;
- CHECK_LIVE_FRAME (frame);
- f = XFRAME (frame);
+ CHECK_LIVE_FRAME (object);
+ f = XFRAME (object);
if (! FRAME_W32_P (f))
error ("Non-W32 frame used");
return FRAME_DISPLAY_INFO (f);