Re: cosmetic patches



Am 01.08.2001 15:00:48 schrieb(en) Pawel Salek:
[snip]
> I get following warnings (gtk+-1.2.10-ximian.10):
> 
> ** CRITICAL **: file balsa-message.c: line 1402 (check_over_url):
> assertion `hotarea_list' failed.
> 
> Any ideas what is the cause and how to resolve it?

Yes, but it's not critical at all... The following happens:

(1) user clicks on a mail in the list, and the routine (all in
src/balsa-message.c) gtk_text_insert_with_url() collects the URL's in a list;

(2) a draw event is emitted, which draws the mail in the text widget, and
after that (via gtk_signal_connect_after()) mail_text_draw() is called to
calculate the list of "hot areas" connected with the url's. We have to do it
here, as due to wrapping these areas may change if the user resizes the
window;

(3) if the user moves the mouse over the text widget, check_over_url() is
called to check the current pointer position against the hotarea list
calculated in step 2.

If for some reason (e.g. a long time for loading the mail) the mouse cursor is
already moved over the text widget, but step 2 not yet finished, you get the
message above. The message text is really misleading, as it is *not* a
critical condition. It will go away as soon as step 2 is finished, and URL
activation will work as usual (but it produces some spam in the logs, though).

IMHO it would be a good idea to just remove the confusing message, but exiting
the routines silently in this case. I attach a patch for that, which also
takes care for the really unlikely (though possible) case that
check_over_url() is called after a resize when step 2 is still running (I
discovered this when trying to find the reason for the message above...).
Without the additional gtk_object_set_data(..., NULL), check_over_url() might
try to access an already freed list...

> > (2) The second part is a one-liner for src/pref.manager.c which makes
> > option menus calculate the width of all contained labels. I use Lucida
> fonts
> > here,
> 
> This is on the way to CVS.

Thanks a lot!

Cheers,

	Albrecht.


-- 
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    Albrecht Dreß  -  Monschauer Straße 22  -  D-53121 Bonn (Germany)
      Phone (+49) 228 6199571  -  E-Mail albrecht.dress@arcormail.de
_________________________________________________________________________

balsa-crit-message-patch.gz



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