Re: GtkListStore flickers when updated



 I tried to get the package, but it only has Deb. I run Redhat. Can I get a
tar.gz ?

 <soapbox>
I hate when I try to get packages and it is not on the tar.gz format (Why
redcrap and the others try to come up with their own stuff (and not be kind
enough to add the other format (tar.gz) -- ) Have them realized what a pain it
is to remove source code from an rpm and put on a directory of your choosing.
-and the list goes on...
</soapbx>


 Harring.


--- Drew Parsons <dparsons emerall com> wrote:
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 part 2 application/pgp-signature 



__________________________________________________
Do you Yahoo!?
New DSL Internet Access from SBC & Yahoo!
http://sbc.yahoo.com



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]