On Tue, Aug 09, 2011 at 09:54:59PM +1200, Jason alavaliant wrote: > > Now I remembered why I started and discarded previous attempts at this: > > The main issue with getting the driver version is that it does not > > accommodate for backported patches. Upstream version x.y may have a > > required > > new feature (or bugfix) but if a distribution backports those patches > > without bumping the version, your client may reduce functionality. e.g. > > the > > wacom driver in RHEL6 is quite different to 0.10.5, even though > > that is the version it would report. Distributions can work around that at > > build-time but a client shouldn't do any run-time driver version detection. > > > > Thus, it is usually better to focus on the feature you need and determine > > how to find out if that feature is available or not rather than relying on > > a single version. > > > > > Fair enough, I was trying to avoid dealing with version numbers myself but > there is one thing I couldn't think of a way to work out without using > driver versions. > http://linuxwacom.git.sourceforge.net/git/gitweb.cgi?p=linuxwacom/xf86-input-wacom;a=commit;h=e0354b9fde1e489bd0c87aa7f34b827ce3e27778 > (xsetwacom: add PROP_FLAG_INVERTED for Hover Click/TPCButton) > How would one detect if 'Wacom Hover Click' is turned on or off by setting > 1/0 except by checking the driver version since the behavior changes between > versions but the property name stays the same?
short answer, you don't. this was a bug, it has been fixed and is now sorted (the PROP_INVERT addition was the reason this is actually fixed now, unlike the previous change in f1ecd11). the best choice for you is to assume correct behaviour in your application and pester distribution maintainers to backport bugfixes where needed. Software has bugs, trying to work around them in your code (especially when they're already fixed in a released version) is a path to umaintainable code. You'll end up with version checks, ifdefs, if (special behaviour foo) all over the place. for your own sanity, the best choice is to simply document the bug in your application. say something "wacom driver pre 0.11 had a bug causing the Hover click to appear inverted" and let the user deal with checkboxes (or whatever else) being inverted too for that version. Cheers, Peter ------------------------------------------------------------------------------ uberSVN's rich system and user administration capabilities and model configuration take the hassle out of deploying and managing Subversion and the tools developers use with it. Learn more about uberSVN and get a free download at: http://p.sf.net/sfu/wandisco-dev2dev _______________________________________________ Linuxwacom-devel mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/linuxwacom-devel
