comparison src/device-msw.c @ 593:5fd7ba8b56e7

[xemacs-hg @ 2001-05-31 12:45:27 by ben] xemacs-faq.texi: Major rewrite. Update all MS Windows info to current. Redo section 6.1 almost completely. Incorporate sections 1 and 2 of Hrvoje's FAQ. etags.el: Fix infloop when going up to the root. s\cygwin32.h: Don't unilaterally include ntplay, but only when we're compiling with native sound (look in configure now). event-msw.c: Fix yet more problems with C-g handling. Implement debug-mswindows-events. event-stream.c, events.h, signal.c, sysdep.h: Rearrange the signal-handling code to eliminate the former spaghetti logic paths in it. Document clearly what "low-level" and "high-level" timeouts are. Rename some functions with unclear names (e.g. "...alarm...") to names that reflect what they actually do (e.g. "...async_timeout..."). Fix numerous bugs discovered in the process. console-x.h, event-Xt.c, event-msw.c, frame-x.c: Hopefully make XEmacs properly maintain the "iconified" state on frames at all times. This should fix the "can't delete a frame with C-x 5 0 when there's another iconified frame out there" bug. Put a notice in of further changes that should probably be made to clean up the frame-visibility support. (especially directed at Jan Vroonhof) lisp.h, miscplay.c: Rename SBufbyte to CBufbyte to avoid a misleading name. Eliminate UChar, which is not used anywhere and contributes no semantic info. Add a comment about the documentation-only properties of the char/unsigned char typedefs. Add SChar_Binary as an explicitly `signed' version of Char_Binary and put back the `signed' declarations in miscplay.c. alloc.c: Use char typedefs. console-msw.c, device-msw.c, dialog-msw.c, editfns.c, fileio.c, glyphs-eimage.c, menubar-msw.c, ntplay.c, objects-msw.c, realpath.c, redisplay-msw.c, select-msw.c, syswindows.h, win32.c: Eliminate numerous C++ errors. frame-msw.c: Eliminate numerous C++ errors and Mule-ize. glyphs-msw.c: Eliminate numerous C++ errors and use char typedefs. configure.in: Fix problems detecting both native and Linux sound on Cygwin when compiled with --with-msw=no. Rearrange file-coding handling a bit to avoid warning when compiling with Mule. configure.in, configure.usage, INSTALL: Document XEMACS_CC and corresponding compiler option --xemacs-compiler. Explain how to build xemacs using a C++ compiler.
author ben
date Thu, 31 May 2001 12:45:41 +0000
parents 190b164ddcac
children b39c14581166
comparison
equal deleted inserted replaced
592:4f6ba8f1fb3d 593:5fd7ba8b56e7
570 { 570 {
571 /* We are in trouble - second msprinter for the same device. 571 /* We are in trouble - second msprinter for the same device.
572 Nothing wrong on the Windows side, just forge a unique 572 Nothing wrong on the Windows side, just forge a unique
573 connection name. Use the memory address of d as a unique 573 connection name. Use the memory address of d as a unique
574 suffix. */ 574 suffix. */
575 char* new_connext = alloca (strlen (devname + 11)); 575 Extbyte *new_connext = (Extbyte *) alloca (strlen (devname + 11));
576 sprintf (new_connext, "%s:%X", devname, d->header.uid); 576 sprintf (new_connext, "%s:%X", devname, d->header.uid);
577 new_connection = build_ext_string (devname, Qmswindows_tstr); 577 new_connection = build_ext_string (devname, Qmswindows_tstr);
578 } 578 }
579 DEVICE_CONNECTION (d) = new_connection; 579 DEVICE_CONNECTION (d) = new_connection;
580 UNGCPRO; 580 UNGCPRO;
614 DEVNAMES* devnames = (DEVNAMES*) GlobalLock (hDevNames); 614 DEVNAMES* devnames = (DEVNAMES*) GlobalLock (hDevNames);
615 char *new_name = devnames ? (char*)devnames + devnames->wDeviceOffset : NULL; 615 char *new_name = devnames ? (char*)devnames + devnames->wDeviceOffset : NULL;
616 DEVMODE* devmode = (DEVMODE*) GlobalLock (hDevMode); 616 DEVMODE* devmode = (DEVMODE*) GlobalLock (hDevMode);
617 617
618 /* Size and name may have changed */ 618 /* Size and name may have changed */
619 ldm->devmode = xrealloc (ldm->devmode, DEVMODE_SIZE (devmode)); 619 ldm->devmode = (DEVMODE *) xrealloc (ldm->devmode, DEVMODE_SIZE (devmode));
620 if (new_name) 620 if (new_name)
621 { 621 {
622 if (ldm->printer_name) 622 if (ldm->printer_name)
623 xfree (ldm->printer_name); 623 xfree (ldm->printer_name);
624 ldm->printer_name = xstrdup (new_name); 624 ldm->printer_name = xstrdup (new_name);
939 signal_error (Qio_error, 939 signal_error (Qio_error,
940 "Unable to specialize settings, printer error", 940 "Unable to specialize settings, printer error",
941 device); 941 device);
942 942
943 assert (XDEVMODE_SIZE (ldm) <= dm_size); 943 assert (XDEVMODE_SIZE (ldm) <= dm_size);
944 ldm->devmode = xrealloc (ldm->devmode, dm_size); 944 ldm->devmode = (DEVMODE *) xrealloc (ldm->devmode, dm_size);
945 } 945 }
946 946
947 /* If we bail out on signal here, no damage is done, except that 947 /* If we bail out on signal here, no damage is done, except that
948 the storage for the DEVMODE structure might be reallocated to 948 the storage for the DEVMODE structure might be reallocated to
949 hold a larger one - not a big deal */ 949 hold a larger one - not a big deal */
1220 return Qnil; 1220 return Qnil;
1221 1221
1222 if (GetLastError () != ERROR_INSUFFICIENT_BUFFER) 1222 if (GetLastError () != ERROR_INSUFFICIENT_BUFFER)
1223 signal_enum_printer_error (); 1223 signal_enum_printer_error ();
1224 1224
1225 data_buf = alloca (bytes_needed); 1225 data_buf = (BYTE *) alloca (bytes_needed);
1226 ok = EnumPrinters (enum_flags, NULL, enum_level, data_buf, bytes_needed, 1226 ok = EnumPrinters (enum_flags, NULL, enum_level, data_buf, bytes_needed,
1227 &bytes_needed, &num_printers); 1227 &bytes_needed, &num_printers);
1228 if (!ok) 1228 if (!ok)
1229 signal_enum_printer_error (); 1229 signal_enum_printer_error ();
1230 1230