CVS log for xc/programs/Xserver/hw/xfree86/xf86cfg/interface.c
Request diff between arbitrary revisions
212. Add getArgc and getArgv functions (David Dawes).
Add a stylized XCalc-color. Make sure the XF86Config_path string is always writable, and if xf86cfg fails to open the config file, check if the path ends in '-4', and if it is true, try removing the ending '-4'. Minor change to the indentation code, when there are nested switches. I will study some alternative to the current indentation code, it is too much complex and does not allow easily creating rules for other languages, at least not "smart" rules, that truly understand the code.
Cast NULL to void * when used in varargs lists. Not all systems define NULL as an explicit pointer.
When asking for the pathname of the XkbConfig file, prompt with the full pathname, as the user does not know that xf86cfg's current dir is either ProjectRoot or the value of the XWINHOME environment variable.
Fix bug in code allocating 1 byte less than what was required.
Resync with yesterday morning's trunk (not compile-tested yet).
542. Fixed xkb to avoid setting of AccessXTimeout to 0 (Egbert Eich). 541. Added option to sync the logfile after every line written (Egbert Eich). 540. Improved APM handling: - Added disable of Input Handlers. - Added support for undo on failed APM requests. - Set vtSema to false (Egbert Eich). 539. Improved detection of primary device especially for non-PC platforms (Egbert Eich). 538. Silicon Motion driver Fixes: - Removed separate loading of int10 code. - Added reset of graphics engine on EnterVT (Egbert Eich). 537. Set flag ROP_NEEDS_SOURCE for CPUToScreenColorExpand for all S3 Savage chips (Egbert Eich). 536. SiS driver: - Added fix to restore fbdev mode properly on VT switch/exit. - Improved LCD handling on SiS 630. - fixed screen blanking in SiS driver to properly blank LCDs (Egbert Eich). 535. Trident driver: - Fixed screen centering for 640x480 Modes. - Fixed video playback for BladeAi1. - Fixed hotkey internal/external switching for XPm8/16. - Added support for on-the-fly video recentering. - Attempt to fix contrast settings for video (Egbert Eich). 534. Added reset code for PS/2 mice when replug events occurs (required for later Linux 2.4.x kernels) (Egbert Eich). 533. xf86cfg: start AccessX controls even when started from a running server (Egbert Eich).
interface.c: Change option -noverify to -verify, and defaults xf86cfg to not verify modules by default. keyboard-cfg.c: Fix problem in freeing string not allocated by the configuration code when XkbGetKeyboardByName returns NULL, normally because some option was unsupported. loader.c: install signal handler also when not "verifying" modules, so that just loading the module should not make xf86cfg dump core.
407. Fix for threaded libraries (Marc La France). 406. Finish removal of SuperProbe (Marc La France). 405. A rather large number of warning fixes throughout (Marc La France). 404. Fix bug in HTML install script (Marc La France). 403. Missing ident lines for some XFree86-modified files (Marc La France). 402. Add default half-width doublescanned modes (Marc La France). 401. Mark all driver-registered resources with ResBus (Maarc La France). 400. Fix DPMS-related build problem (Marc La France). 399. Log a message just before calling each ChipProbe() during '-probe' processing (Marc La France). 398. Temporarily disable ISA probing on SPARCs and PowerPCs (Marc La France). 397. Add PCI IDs for Sun hardware (Marc La France). 396. Fix memory leak in resource relocation (Marc La France). 395. Do not relocate resources that only conflict with disabled non-video PCI devices or disabled PCI ROMs (Marc La France). 394. Re-organise SBUS code (Marc La France). 393. Add as-yet-unused definitions for PCI resource types other than I/O and memory (Marc La France). 392. Add doc for Solaris, but don't format it yet (Marc La France). 391. Normalise driver names (Marc La France). 390. For SPARCs, disable DGA support in ATI driver (Marc La France). 389. Clean up some debugging messages (Marc La France). 388. Fix newport driver for when a /proc fs isn't mounted (Marc La France). 387. Fix DAC handling bugs in s3 driver (Marc La France). 386. Fix resource registration bug for PCI Tseng's (Marc La France). 385. Add aperture driver for Solaris (not yet used) (Marc La France). 384. Rework scanpci to fix problems that prevented it from completely displaying non-PCI bridges and Simba bridges (Marc La France). 383. Fix build problems in some input drivers (Marc La France). 382. Fix int10 compile problem for SPARCs and PowerPCs (Marc La France). 381. Ensure master aborts on secondary buses complete normally during PCI scans (Marc La France). 380. Some memory mapping and Solaris cleanups (Marc La France).
The function interface.c:SetTip() was working around the old problem with the fact that the "tip" string was used in place by the Simple Widget. But after the Simple Widget be changed to allocate a copy of the "tip" string, the code in xf86cfg became broken, as it was freeing the previous string, before seting a new one.
Fixed some code that was relying in an internal state of Xaw7 (that has changed behaviour). Adding new layouts as well as changing the default one or removing a layout from the main window should work as expected now.
Changed default value of xf86Verbose from 0 to 1, or no checker messages would be printed by default :-) Fixed some problems in the "expert mode", so that now all changes made in the expert mode should be visible in the graphical representation of XF86Config and should not core when doing some type changes. If you can make it core or something is not being updated, please let me know.
Added "-verbose <num>" and "-noverify" options. Added code to check modules, disabled with "-noverify", currently it will by default check the modules.
Made the "Add standard VESA mode to current screen" menu useful. XF86VidModeAddModeLine apparently always returns true. With this patch, if no new modelines were added, it will ask the user to add the modeline definition to the Monitor section.
Added an Usage function, that just prints a description of xf86cfg options and exits. This is useful at least for cases where the user wants to start the "-textmode" interface, but types it incorrectly, and xf86cfg runs X -configure and starts the graphical interface. Or if the "-nomodules" option is incorrectly typped and xf86cfg goes loading all modules.
Added -nomodule command line option to xf86cfg, and support code for it. Code to proper defaults in expert.c when adding a new device.
Added -nomodule command line option to xf86cfg, and support code for it. Code to proper defaults in expert.c when adding a new device.
543. Back out sunleo conversion to fb. This driver is too heavily dependent on cfb32 for a simple fb conversion (Marc La France). 542. Miscellaneous build/warning fixes (Marc La France). 541. More prep work for SunOS (Marc La France). 540. Fix libXft build on SunOS (Marc La France). 539. Another makedepend bug fix (Marc La France). 538. Fix use of xftcache utility during !UseInstalled builds (Marc La France).
This is not a small commit, but besides that, should not cause any problems. It is basically a slightly modified version of the patch I posted a URL yesterday to the devel and config lists. The major changes that this patch adds are the availability of the use of the ModuleInfoRec, but not required, at least for now, so that input modules and "generic" modules have also a way to pass the list of available options to the code that loaded the driver, be it the xserver or xf86cfg; or of course, any other program that links with the correct libraries. The new Options file is expected to very easy to understand, and should be very easy to update. I am considering the possibility of using this file and xf86cfg to update man pages based on the contents of this file; this would assure that xf86cfg is properly running as it would be a "prereq" for the build system (xf86cfg seens to be broken in some compiles due to an uninitialized variable, or because of a problem in the glide driver, that is not in the main trunk, but gone in 4.0.2 and 4.0.3), thanks to Chris Morgan for tolding me about the problems. The only input driver updated to export an option list was the mouse driver. Changes to other input modules were just minor changes to allow xf86cfg loading them. The changes to xf86cfg are to add an interface to view option descriptions, and fixes to two problems pointed by Christopher Morgan (one patch from him). I believe this patch should not cause any problems, but if any side effects are noticed, it can be reverted very easiliy, as it is not intrusive in any other code. I also added a fix to a "boring" 0 character being printed to the log file. I think it was added in a patch I commited at least one month ago.
317. glxinfo needs libGLU (Marc La France). 316. Rage128 fix to Cards database (Marc La France). 315. Minor fix to PCI resource overlap handling (Marc La France). 314. Loader code simplification and IA-64 cache flushes (Marc La France). 313. Workaround in the ATI driver for troublesome interaction between loader and compiler optimisation (Marc La France). 312. Warning fixes for `gcc -fno-builtin`, which appears to be the default on some systems (Marc La France). + more of #301, tags, warnings and build fixes.
Added a leftBitmap to all menu entries that have a submenu. The default image is "menu10", but can be changed with the resource .xf86cfg.menuBitmap. Added code to allow using an alternate xkb rules file, and automatic updates, as well as drawing the new keyboard model. Added code to make the "cancel" button in the keyboard configuration dialog really cancel changes in the configuration (but not "Apply changes", that afects the keyboard currently in use).
Fix for access to memory after freeing it.
303. XvMC build fix (Marc La France). 302. Fix recently introduced bug in xf86cfg (Marc La France). 301. Re-instate warning fixes clobbered by DRI merge (Marc La France). 300. Ignore disabled non-video PCI ROMs (Marc La France). 299. Hardware cursor implementation for Mach64 variants (William Blew, Ani Joshi, Marc La France). 298. Some endianness fixes in the ATI driver (incomplete) (Marc La France). 297. Fix MMIO ordering problems for Mach64 acceleration (Marc La France). 296. Fix ATI driver behaviour when it finds the LCD panel has been disabled on entry (Marc La France). 295. Fix ECP clock for GATOS (Vladimir Dergachev). 294. Undo part of CHANGELOG 36 (Marc La France).
Updated code for top buttons, in interface.c to allow configuring an added device that is not yet in the main XF86Config structure. Updated *-cfg.c and screen.c code to correctly create sequential default names. As an example, the previous code would suggest Mouse2 as the next name when there was only one mouse, called Mouse0.
Changed xf86cfg top buttons, to instead of adding a new device, become a menu widget, with the options to add new devices or configure one or all of them. The actual behaviour is not probably what a user will expect, but this one is more natural, and expected. Fixed also a bug in the Xaw code for sub menus. The "cosmetic" problem became visible with the changes to xf86cfg.
Imakefile: Added -DXF86CONFIGDIR="<value-of-XConfigDir>" accessx.c: Cosmetic change to function that was void(...) and now is int(...) interface.c: Changes to default the path/filename of XF86Config based on the values of XConfigDir and XConfigFile. keyboard-cfg.c: Changed UpdateKeyboard() to return a boolean value indicating success or failure to load a new keyboard description, instead of exit(1). Also update code to not make changes if the keyboard cannot be loaded. keyboard-cfg.h: updated prototype for UpdateKeyboard() Comments: I Believe there is yet some confusion about the name and location of XF86Config, as xfree86.cf defines it as: #define XConfigDir $(LIBDIR) so, the changes I did will normally save the new configuration file as /usr/X11R6/lib/X11/XF86Config but the server will normally use the file in /etc/X11/ if any, and will prefer XF86Config-4 over XF86Config. Changing xfree86.cf to #ifndef XConfigDir # ifdef UseEtcX11 # define XConfigDir EtcX11Directory # else # define XConfigDir $(LIBDIR) # endif #endif does not seen to make any effect, so I believe David Dawes, or somebody with more knowledge about the config/cf files can see what is wrong. If I test UseEtcX11 and then use EtcX11Directory in the Imakefile, it works, but I prefer to use XConfigDir, to avoid adding yet more confusion.
Add my stable fixes in HEAD to xf-4_0_2-branch.
Changed files to use the value of "ProjectRoot" for the default value of the XFree86Dir variable.
Fix a build problem on systems without ncurses
Imakefile added rules to compile text-mode.c config.c and config.h moved definitions of CONFPATH and USER_CONFPATH interface.c added code to call the text mode interface based in the command line option '-textmode' keyboard-cfg.c Added check about XFREE98_XKB screen-cfg.c Added 1280x960 to list of default video modes. text-mode.c New file, with a text mode interface to xf86cfg.
expert.c updated to correct screen configuration (rotate options), and any possible changes to the options of devices. interface.c fixed problem of using the size of a pointer, instead of the lenght of the memory allocated to it. loader.c added a version of xf86ServerIsOnlyDetecting to avoid problems when loading the ati drivers. screen-cfg.c, screen.c and modified way the rotate option change is detected, as it can be changed from more places in xf86cfg now.
Imakefile: Added -DXF86CONFIG=\"XConfigFile\", as some distributions use a name other than XF86Config to the config file. XF86Cfg.ad: Added resources for the new "expert" interface. expert.c: The new interface, using the tree widget, and several nodes to navigate in the XF86Config file. interface.c: Added button to start the "expert" interface. monitor-cfg.c: Made string_to_parser_range and parser_range_to_string functions externs, to be used by expert.c options.c: Changed to allow creating the options popup without the need to really popup it (need this to set the transientFor). startx.c: Changed to call "X" instead of "XFree86" xf86config.c: Added several new helper functions to be used by expert.c. xf86config.h: Added prototypes for changes in xf86config.c and new macros.
897. Added render extension support to tseng driver (Egbert Eich). 896. Fixed clock code in neomagic driver (Egbert Eich). 899. xf86Configure now uses the imake variable xf86ConfigFile (Egbert Eich). 898. xf86cfg has a new option for a server path (Egbert Eich). 897. xf86cfg can now handle more than one command line argument (Egbert Eich). 895. Added a delay to dac code in neomagic driver (Egbert Eich). 894. Changed shadowfb to use delayed updates in neomagic driver (Egbert Eich). 893. Rewrote ddc code in nv driver (Egbert Eich). 892. Rewrote ddc code in neomagic driver (Egbert Eich). 891. Fixed problems with enter/leave/closeScreen in nv driver (Egbert Eich). 890. Fixed a bug in the fixed modelines in trident driver (Egbert Eich). 889. Added reinitialization of blitter on enterVT in trident driver (Egbert Eich). 888. Fixed a typo which caused wrong register to be set in trident driver (Egbert Eich). 887. Added loader symbol handling to tseng driver (Egbert Eich). 886. Changed tseng driver to use fb instead of cfb (Egbert Eich). 885. Changed chips driver to use fb instead of cfb (Egbert Eich). 884. Added render extension support to chips driver (Egbert Eich). 883. Added render extension support to neomagic driver (Egbert Eich). 882. Added render extension support to nv driver (Egbert Eich). 881. Modified helper_mem.c to map everything between video bios and system bios on PC-like platforms (Egbert Eich). 880. Modified Linux mapVidMem() to map memory on page boundaries (Egbert Eich). 879. Changed BIOS_SIZE (Sys BIOS) from 0x10000 to 0xffff to make int10 work un DGUX (Takis Psarogiannakopoulos). 878. Fixed a bug in the argument list of the call to xf86ReadPciBIOS() from int10/pci.c (Egbert Eich). 877. Added simple sanity check to catch situation where DDC reads all 0 and therefore trivially has the correct checksum (Egbert Eich). 876. Changed i2c code to allow for longer rise/fall times on longer cables (Egbert Eich). 875. Removed limit on default visual for 4bpp (Egbert Eich). 874. Added macros to build nv driver on AXP (Jay Estabrook). 873. Changed -configure to use primary card as first card (Egbert Eich). 872. Changed generic vga driver to not unmap memory when switched away. 871. Fixed problem that caused APM support to be disabled on server reset (Egbert Eich). 870. Added support for newer sparse AXP systems (Egbert Eich). 869. Added support for MGA G100 PCI (Egbert Eich).
829. Add code to the xf86config utility to get the list of XKB selections from the appropriate XKB files rather than having them hard-coded. Also allow XkbOptions to be set (#4209, Ivan Pascal). 828. Fix two more bugs in xkbcomp: handling of 'keycode aliases', and copying of strings when copying structures (#4208, Ivan Pascal). 827. Xterm patch #147 (#4207, Thomas Dickey). 826. Move the initialisation of pScrn->EnableDisableFBAccess into InitOutput(), which fixes an infinite loop problem that can show up on server resets (#4206, Joe Moss). 825. Make xf86cfg use the same config file search path as the X server (#4203, Paulo Cesar Pereira de Andrade). 824. Update the XFree86 -configure code to put the default font path in the Files section of the config file it generates (#4202, Paulo Cesar Pereira de Andrade). 823. Fix a bug in the vesa driver when finding the linear address for the card, some compile time warnings, faster code for handling colormap changes, and add DGA support (#4201, Paulo Cesar Pereira de Andrade). 822. Fix a typo in the mga driver that causes planemask problems with the PCI version of the G100 (#4198, Antti Tapaninen). 821. Add an option to the C&T driver to disable "TMED" (DSTN dithering scheme) (#A.172, Damir Anicic, #4196, 4197, David Bateman). 820. Pablo Saratxaga's i18n updates for XFree86 that are used in Mandrake 7.2. Includes various new and fixed xkb files, locale name additions and updates, and new support for varios charset encodings (#4195, Pablo Saratxaga).
775. Pass depth/bpp correctly, scan all fb devices, misc fb fixes. (#4179, Michel Danzer). 774. Add generic Vesa driver, fixes for xf86cfg plus changes to parser to reflect xf86cfg changes (#4174,#4175, Paulo Cesar Pereira de Andrade).
721. PCI chip ID updates to ATI driver (Marc La France). 720. Fix i810 driver for -probe and -configure (Marc La France). 719. Change message when default modes are deleted (Marc La France). 718. Fix Xinerama byte swapping bug (Marc La France). 717. IA-64 and Alpha fixes for pswrap, Mesa, DRI, Xpm, libX11, Xt, Xaw, Xmu, dps, Type1 fonts, cfb24, most output drivers, ELF loader, ramdac module, xf4bpp and xf86cfg (Marc La France). 716. Improve IA-64 support by removing a plethora of 32-bit'isms (Marc La France). 715. Default HasLinuxDoc to NO (Marc La France). + ident lines and warning fixes.
491. fixed handling of backwards compatibility in xvmode (Egbert Eich). 490. fixed changing mouse protocol with xf86misc extensions (Egbert Eich). 489. added code to sanitize uninitialized PCI config space base addresses (Egbert Eich). 488. Changed xf86xv.c to call StopVideo(exit=TRUE) even if StopVideo(exit=FALSE) has already been sent (Egbert Eich). 487. fixed core dump in C&T video driver when vt switching Changed C&T video driver to only register a block handler when StopVideo() is called with exit = TRUE (Egbert Eich). 486. Fixed Cirrus driver not segfault when termineated while switched away (Egbert Eich). 485. Neomagic driver: select sw cursor when screen stretching is enabled (Egbert Eich). 484. Neomagic driver: fixed problem with screen to screen copy on 2200 chipsets (Egbert Eich). 483. Neomagic driver: fixed 'white screen problem' by implementing a signal save delay routine (Egbert Eich). 482. r128 driver: Fixed colormap set problem when server is switched away (Egbert Eich). 481. r128 driver Added reinitialization of accel engine after vt switch. 480. fixed a fg/bg color problem in SiS driver (Egbert Eich). 479. attempt to address some problems with Cyber LCD chipsets in Trident driver (Egbert Eich). 478. tseng driver: Implemented correct MMIO handling (Egbert Eich). 477. tseng driver: made accel driver multi screen capable (Egbert Eich). 476. fixed vgaHW driver to use forground color for readability test of pallette registers. This prevents annoying flashing screen on server start (Egbert Eich). 475. added module/font/rgb path parameters to xf86cfg (Egbert Eich).
278. xf86cfg fixes (#3983, Paulo Cesar Pereira de Andrade). 277. Add SilkenMouse support to the s3virge driver (#3982, Kevin Brosius). 276. Update Xv support in the glint driver and add the XvPutImage function for the Permedia 2 (#3926, Michael Schimek).
266. Recent versions of FreeBSD have the xpg4 library folded into libc. 265. xf86cfg updates (#3973, Paulo Cesar Pereira de Andrade). 264. Xaw bug fixes (#3973, Paulo Cesar Pereira de Andrade). 263. Fix M-d and M-h key bindings in the Xaw Text widget (#A.87, Jonathan Kamens). 262. Fix some Xaw memory errors (#A.79, Jonathan Kamens). 261. Xman fixes/updates, including: - Fix a core dump in fclose() - Append the default search path when MANPATH ends in a ':' - Understand man pages that have a single line with a .so directive (#3969, 3973, Paulo Cesar Pereira de Andrade). 260. Resync nls Compose file with 3.3.6 (#3964, 3973, Paulo Cesar Pereira de Andrade). 259. Fix moving the pointer between screens when using MouseKeys, and fix some bugs in the xkbfile code (#3963, 3973, Paulo Cesar Pereira de Andrade). 258. Fix XC-SECURITY security bug (#3954, 3973, Paulo Cesar Pereira de Andrade). 257. Bigfont bug fix, which stops cvsup crashing (#3954, 3973, Paulo Cesar Pereira de Andrade).
190. Fix building xf86cfg on systems where libxpm isn't linked in implicitly (#3903, Matthieu Herrb). 189. Update the fbdevhw stubs for an interface change (#3902, Matthieu Herrb). 188. Simplify the platform defines in servermd.h to make them more hardware dependent than OS dependent (#3913, Kurt Lidl). 187. Fix a bug in the search/replace dialog in the Xaw text widget (#3896, Paulo Cesar Pereira de Andrade). 186. Xterm patch #133 (#3894, Thomas Dickey). 185. Fixes for the Xaw TipWidget (#3893, Paulo Cesar Pereira de Andrade). 184. Change CTEXT from/to converters to allow processing of "C1" codes (0x80-0x9f) as ordinary characters for "non-standard" encodings (such as UTF-8) (#3891, Ivan Pascal). 183. Add "software" per-key auto-repeat disabling (#3889, Ivan Pascal). 182. Refix fog.c build problem on Alpha (#3888, Dave Gilbert). 181. Add some new things for the VidMode interface in xf86cfg (#3877, Paulo Cesar Pereira de Andrade). 180. Rework most of the look and feel of xf86cfg, and fix some bugs (#3877, 3886, 3892, Paulo Cesar Pereira de Andrade). 179. Add a ProjectRoot to Xaw rather than hard-coding it, so that the pixmap code can find pixmaps and bitmaps on non-standard installations (#3877, Paulo Cesar Pereira de Andrade).
93. Fix some 'XFree86 -configure' problems when multiple cards (#3850, Paulo Cesar Pereira de Andrade). 92. New graphical config tool (xf86cfg) (#3850, Paulo Cesar Pereira de Andrade).