CVS log for xc/programs/Xserver/hw/xfree86/parser/Monitor.c |
|
Help |
Request diff between arbitrary revisions
63. Fix a case where X server audit messages do not get printed (David Dawes).
62. Initialise the allocator even earlier in the X server startup, and use
it for the logging functions (David Dawes).
61. Parser option handling cleanups/fixes:
- Ensure that option data is allocated by the parser, rather than
externally allocated or static.
- Free replaced option data.
- Make xf86ParseOption's handling of multiple options of the same
name consistent with all other cases (last occurrence is used).
- Fix a bug in the handling of the Keyboard section "xleds" keyword.
(David Dawes).
283. First phase of dynamic configuration (David Dawes, S. Lussos,
Michael Dawes, J. D. Darling, X-Oz Technologies).
256. Extend the parser/config support to allow multiple Monitor sections
to be referenced from a Screen section (David Dawes).
CVS----------------------------------------------------------------------
200. Fix various statement not reached warnings, including some real bugs
(David Dawes).
802. Licence update. (except client-side libraries)
Add/update copyright and license notices.
Almost revert patch that added EOL_TOKEN, now everything is handled in scan.c. Thanks to David Dawes for suggesting a very simpler way to handle comments. The addition of EOL_TOKEN had it's merits, but it is better to have the libxf68config parser completely backwards compatible, and the previous patch showed some problems when reading XF86Config files generated by hand. It doesn't always generate an identical file when writting back some files generated by hand, but no comments/contents are lost, and, once the file is written one time with libxf86config, subsequent reads and writes will generate the same contents.
o Added a new EOL_TOKEN to the parser, that is generated every time a new
line is read from the config file, and most times just ignored, but is
useful for configurations that may wish to know if all options are in
the same line.
o This patch also doesn't allow '#' in identifiers, before the patch, the
parser could get confused with input like "EndSection# comment".
o Fix potencial problem in xf86cfg, when changing inplace an option value,
it was also freeing it's comment but not setting the comment field to
NULL.
This is the second version of a patch to fix a problem described by
Mike Harris:
--
For example, if the original file contains:
# If you'd like to switch the positions of your capslock and
# control keys, use:
# Option "XkbOptions" "ctrl:nocaps"
#Option "XkbOptions" ""
Identifier "Keyboard0"
Driver "keyboard"
Option "XkbRules" "xfree86"
Option "XkbModel" "pc105"
Option "XkbLayout" "us"
#Option "XkbVariant" ""
After reading in with libxf86config and writing back out, it
looks like:
# If you'd like to switch the positions of your capslock and
# control keys, use:
# Option "XkbOptions" "ctrl:nocaps"
#Option "XkbOptions" ""
Identifier "Keyboard0"
Driver "keyboard"
Option "XkbRules" "xfree86"
Option "XkbModel" "pc105"
Option "XkbLayout" "us" #Option "XkbVariant" ""
The '#Option "XkbVariant" ""' part moved to the previous
line.
--
Note that comments aren't guaranteed to be restored to the exact
format before being read by libxf86config, particularly, if an
explanation should be done for a given section, the comment must
be inside the section, for example:
--
# comment
Section "InputDevice"
...
--
when saving the file with libxf86config, '# comment' will be placed
in the start of the file, while:
--
Section "InputDevice"
# comment
...
--
will be correctly restored.
Fix wrong check for overflow in xf86parseMonitorSection(). I noticed some cases where it was "properly writting" XF86Config but overflowing when reading. The problem is that some languages, like portuguese uses "," instead of "." for LC_NUMERIC, but "," has special meaning in the Monitor Section. I'm not sure if it is job of libxf86config to make sure LC_NUMERIC is set to either C or POSIX, so, this patch just fixes the crash conditions.
178. Fix some more mi build warnings (David Dawes).
177. Fix some mi build warnings (#4716-4719,4721-4724, Adam Sulmicki).
176. Port for Linux/SuperH (Jornada680/690 and SEGA Dreamcast) (#4680, 4681,
ISHIKAWA Mutsumi).
175. Support for mouse wheel emulation (#A.506, Henry T. So).
Added code to free memory allocated for comments. I add code for the new *_comment fields, but most of the old ones were not being released. I wrote a preliminar code to save comments location, and this way, rewrite XF86Config as close as possibile to the original version; but I prefer to use the current version, and follow KISS rules.
These changes should make the parser behaviour identical do before my previous commit and still keep saving comments.
Summary: Changed parser to read and restore comments. Basically it will save all global comments and when rewriting the file, write then at the top of the file. Example: -- # comment Section .. -- is correctly written, but -- # comment 1 Section ... # comment 2 -- is written back as: -- # comment 1 # comment 2 Section ... -- the same happens to comments inside a section. Comments for "Option", "Load" (Section Modules), "LoadDriver" (Section Modules), and "Buffers" (Section DRI) will be appended to the end of the line. Notes: o When the token COMMENT is returned, val.str is not a newly allocated string, so it should be used as an argument to xf86addComment. o Comments generated by xf86addComment are guaranteed to start with '#', with optional leading ' ' or '\t', and also guaranteed to end with an '\n'. o xf86parseOption and xf86printOptionList are helper functions, to avoid too much duplicated code, and also correctly handle comments for options. Wishlist: o It could also be written in a new way, to save from where a global comment came, so that it can be restored "before" printing the associated "Section". The same may be done inside "Section"s. o It may be also be changed to store comments like: Identifier "ident" # some comment but that would require a comment field for every structure field. o It may even be changed to add blank lines as comments, but would need the previous wishlists implemented.
monitor-cfg.c: fixed bug when parsing several sync ranges fields separated
by commas.
parser/Monitor.c: changed the parser to allow muliple sync ranges in the
same line, and separated by commas, as specified in the
XF86Config man page.
parser/*.{c,h}: added check for duplicated Identifier lines.
Thanks to Andrew Ritger for pointing the problem in sync ranges parsing and
to Andy Isaacson for pointing the problem of multiple Identifier lines.
Add my stable fixes in HEAD to xf-4_0_2-branch.
Monitor.c: Fix problem in comparison between double and float numbers. monitor-cfg.c: Fix bug in string_to_parser_range function.
Correct problem with the parsing of the HorizSync (and VertRefresh) keyword. Adapted code from xf86cfg to correct the problem. Libxf86config was not properly parsing lines like: HorizSync 31.5, 35.5, 48 See mail "[Xpert] problem with HorizSync" for more details.
Some more parser updates:
- the vscan value wasn't being used
- make the XF86ConfModesPtr structure accessible from the
XF86ConfMonitorPtr structure
- allow xf86Parser.h to be included from in a C++ program
(#4243-4245, Paulo Cesar Pereira de Andrade).
933. Wacom input driver update, including support for 38400 link speed
and fix wrong advertisement of min/max values (#4241, Frederic Lepied).
932. Parser does not write Modes section and UseModes keyword (#4238,
Paulo Cesar Pereira de Andrade).
931. Fix the name of the Serbian xkb symbols file (rename from yu to sr)
(#4237, Ivan Pascal).
930. Fix mkcfm bug (#4236, Juliusz Chroboczek).
929. Glint/permedia3 updates (#4235, 4238, Sven Luther).
811. locale.alias fix for ko_KR.utf8 (#4190, Won-kyu Park).
810. Fix incorrect vtSema usage in neomagic driver DPMS code (#4184,
Andrew C Aitchison).
809. Fix a 1-byte overflow in Xtrans.c (#4182, Aaron Campbell).
808. Enable building the loadable server for BSD/OS.
807. Fix the following xkbcomp bugs:
- 'base group' keyword added to 'whichGroup' possible values list
- 'groupsWrap' keyword removed from 'controls' possible values list
- fix crash in processing files with unnamed sections
- now keep 'per key group adjustment mode' in XKM file
- now allow an empty 'key' description to be specified in an
xkb_symbols file.
(#4170, Ivan Pascal).
806. Add a "bcast" flag for mode lines, which is needed to display
broadcast resolutions (#4169, Michel Danzer).
805. Fix compiler warnings when building the mga driver with or without
the Matrox HALlib, add the digital/tv-out/tvstandard/cabletype
options, missing files, and some cleanups (#4166, Antti Tapaninen).
804. Fix spelling from xvinfo (#4166, Antti Tapaninen).
803. Add support to twm for displaying multibyte strings on window titles,
and make the twm config file reader 8-bit clean (#4165, 4168, 4180,
Tomohiro Kubota).
802. Fix a tseng driver problem related to the usable amount of video memory
(#4164, Randy McCaskill).
801. Add support for the new Render extension to the nv driver, and
turn on fb support by default in the nv driver (#4161, Jarno Paananen).
800. Fix a typo that prevents DPS from being built statically (#4160,
Juliusz Chroboczek).
799. Fix some xkbfile bugs in the .xkb files that it writes
(two adjacent commas, no xkb_types section in xkb_layout) (#4159,
Ivan Pascal).
798. Fix an xkbcomp bug that causes an infinite loop for some error
message output (#4158, Ivan Pascal).
797. Fix XlcNONE usage in charset description (#4153, Ivan Pascal).
796. Fix a bug in XKB group adjustment (#4152, Ivan Pascal).
795. Fix some build problems that show up with the SVR4 C compiler
(based on #4139, Takaaki Nomura).
794. Add two new XKB group switches (Alt+Shift and Menu key) (#4151,
Ivan Pascal).
793. Fix HTML man page links when the man page suffix has more than one
character (#4150, Bruno Haible).
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).
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).
Allow the parser to have 'one' line comments with the '###' prefix in the majority of sections.
3285. Ensure miInitializeBanking() fails when a bank clip region cannot be
allocated (Marc La France).
3284. Static server fix for s3virge and nv drivers (Marc La France).
3283. Map MMIO areas on ATI adapters (Marc La France).
3282. Disable DirectColor and gamma support for the original ATI integrated
controllers (Marc La France).
3281. Linear aperture fixes for ATI 88800 and CT controllers (Marc La France).
3280. Make LCD mode validation changes in ATI driver (CHANGELOG #3271)
into a development option, restoring the previous behaviour by
default (Marc La France).
3279. When display subsection mode names run out without yeilding a valid mode,
continue validation with the largest unvalidated modePool member, rather
than the first (Marc La France).
3278. Allow drivers to specify whether or not sync/refresh rates in monitor
sections are optional and use this for ATI LCD support (Marc La France).
3277. Replace xf86Exiting with its DIX counterpart, dispatchException's
DE_TERMINATE bit (Marc La France).
rework the config file searching and allow "safe" relative paths to be specified by non-root users. Fix the XINPUT mouse map change
#2691,2693,2695,2696,2699-2704,2706-2713,2715-2717,2719-2722
#2642-2646 Support for InputDevice config file sections (not used yet) some DGA library cleanups
#2625-2632,2635-2641 shadowfb support for that vga driver at depths 1 and 4
2412. Add VESA default modes, small perl hack to create an initialized data
structure from them, and the code to use those modes as default if no
other modes with the same name are defined (Dirk Hohndel).
2409. Updates to s3virge driver to get it working under Linux/Alpha
(#2586, Matt Grossman).
2408. Fix getline() clash (#2585, Alan Hourihane).
2407. Have the s3virge driver use the new XAA rop helper functions (#2584,
Mark Vojkovich).
2406. Add code to SuperProbe to detect the S3 Trio3D and Savage3D
(2583, Eric Molitor).
2405. Add some XAA helper functions that drivers can call for help
converting X rops into MS rops (#2582, Mark Vojkovich).
2404. Resync the overlay support in the glint driver (#2580, 2581,
Mark Vojkovich).
2403. Add support for changing the overlay color key to the MGA driver
(#2579, Mark Vojkovich).
2402. Preallocate the color key in the default colormap and set it to
something already in the default man (black) so that AllocColor will
never allocate it (#2578, Mark Vojkovich).
2401. Use the color key field in the ScrnInfoRec for the overlay layers
(#2578, Mark Vojkovich).
2400. Preliminary loader support for Linux/PPC ELF objects (#2577 (2570),
Stuart Anderson).
2399. Fix some XAA offscreen pixmap problmes (#2576, Mark Vojkovich).
2398. DGA fixes. Old apps should now run with the new driver interface,
and event handling should work better than before (#2575,
Mark Vojkovich).
2397. Fix most remaining signed/unsigned and prototype warnings in the
following directories: lib/Xaw, lib/Xmu, programs/xclipboard,
programs/xconsole, programs/xmag, and programs/xvidtune (#2574,
Thomas Dickey).
2396. Restore the interface of XmuConvertStandardSelection() to use
XPointer rather than XtPointer (#2574, Thomas Dickey).
2395. Fix an malloc size bug in libICE (#2572, Christopher Sekiya).
2394. Make MIT-SHM resource types non-static so that other extensions
(like Xv) can access client shared memory segments (#2571,
Mark Vojkovich).
2393. First cut at altering the C&T user docs for 4.0 (#2569, David Bateman).
2392. Fix a C&T problem affecting the colourmap setup for 1bpp modes, and some
other minor C&T driver fixes (#2569, David Bateman).
2391. Fix an buffer overflow in os/connection.c (#2568, Gerd Knorr).
2390. Add support for Modes sections and the UseModes keyword for Monitor
sections to the parser (the data isn't used yet) (#2564, Dirk Hohndel).
2389. Fix xfree86.cf for Alpha (#2567, Dirk Hohndel).
2388. Fix XAAFillPolygonStippled to obey the flag NO_TRANSPARENCY in
Mono8x8PatternFill (#2566, Xavier Ducoin).
2387. Only allow the shadowfb layer in the C&T driver when linear addressing
is enabled (#2565 (2561), David Bateman).
2386. Fix some problems with the xf8_16bpp layer, and allow it to work
with depth 15 as well as 16 (#2565 (2561, 2562), David Bateman).
2385. Implement TrueColor with PseudoColor Overlays (8+16) for the
C&T driver for HiQV chipsets (#2565 (2561), David Bateman).
2384. Add a -quiet option to xgamma (#2565 (2561), David Bateman).
2383. Add TrueColor Gamma Correction for C&T HiQV chipsets (#2565 (2561),
David Bateman).
2382. Fix Permedia 2 HW cursor lockup (#2563, Alan Hourihane).
2381. Initial XAA support for SiS530 and SiS620 (#2560, Xavier Ducoin).
2380. Add SuperProbe for SiS (#2559, Xavier Ducoin).
2379. Fix the InstalMultipleMan and InstallMultipleManSuffix rules for
NetBSD and OpenBSD (#2558 (2557), Matthieu Herrb).
2378. Add Cards entry for Number Nine FX Reality 772 (#2556, Harald Koenig).
2377. Make XF86Setup build again (not fully functional yet) (#2555, Joe Moss).
2376. Update the apm (Alliance Promotion) to the 4.0 interface (#2554,
Loic Grenie, Henrik Harmsen).
#2394-2406, and some loader updates
patches for 3.9Nn
First pass merge of xc/programs/Xserver/hw/xfree86
patches 1789 - 1820
#1777-1783
loader updates
Some cleanups
Some (experimental) option handling code
resync parser with Metro's recent patches and add some missing processing of the parser output
config-related updates
some patches from Stuart
new parser and first attempts to use it
file Monitor.c was initially added on branch xf-3_9j-branch.
|
Powered by ViewCVS 0.9.2 |