x: f(60, 100) = false
y: f(100, 150) = false
z: f(60, 150) = true!
x is false
y is false
x AND y is false
z is true
x AND y => z is true
'false => true' is a true statement so, your comparator, speaking in terms of proofs, does satisfy that requirement (ie, it is transitive)
but i bet that doesnt help any. oh well.
yeah and in other news. i love GConf. some may know ive long been opposed to gnome & the libraries it requires. but i broke down and started playing around with some of them (GConf & gnome-vfs), and quite frankly they fucking rock. many thanks to the gnome team!
in my playing around, i stumbled across a stupid stupid stupid feature of GtkTreeView's: bugzilla #94837. i was just so angry after reading that. it doesnt make any sense! even if there is some hack reason why it needs to be selected (i dont think there is), its stupid! some applications might do computationally intensive work on the selection of certain rows in the treeview, and have two 'changed' signals emitted like that when i go to select a row for the first time is fucking stupid.
so i dove into TreeView's source and located the problem in it's overridden grab_focus method. i overrode it again in my TreeView derivation (which has a nifty column selector too: screenshot), and now it works properly.
yeah. so. anyways.