My GTK app is a clock showing the time in different timezones (you can find it at http://packages.debian.org/unstable/utils/gworldclock.html). I use a GtkListStore to organise the display, showing one zone in each row of the list. I have a gtk_timeout set to update the display each second. My problem is that when the List is updated each second, it tends to flicker in an unsatisfying manner. This flicker didn't happen in the previous GTK+1.2 version using a CList. It's actually only the last row that flickers, the other rows seem to update themselves cleanly. In fact, if I extend the size of the window so it much larger than the actual number of rows, then the empty space at the bottom still flickers even though there's no data there to update. The flickering is like a momentary blue flash in the region corresponding to a row along the bottom of the region (whether or not there is in fact a row there). I might have thought the problem was an optical illusion or a problem with my video configuration, except that a user has already complained about it. My code runs like this: 1) set up the timer with gtk_timeout_add() to run every 1000ms, calling my function SetTime() 2) SetTime() iterates over the GtkListStore's rows using gtk_tree_model_foreach(), calling my function SetToGivenTime() for each row. 3) SetToGivenTime() forms the new display string, and sets it to the given row (identified through a GtkTreeIter) using gtk_list_store_set(). The flickering stills happens if I use a normal for loop to iterate over rows instead of using gtk_tree_model_foreach(). Does anyone have experience dealing with GtkTreeView flickering? I can sort of ignore it, but it is rather irritating. Drew -- PGP public key available at http://people.debian.org/~dparsons/drewskey.txt Fingerprint: A110 EAE1 D7D2 8076 5FE0 EC0A B6CE 7041 6412 4E4A
Attachment:
pgpFU5sr4IERV.pgp
Description: PGP signature