Hi,

I've just subscribed to this list so this is partly a test message to see
if things are working.

Also, I've been investigating bug #1729711:

http://sourceforge.net/tracker/index.php?func=detail&aid=1729711&group_id=51719&atid=464312


It seems that the status bar was being updated so frequently that when
gui_multitask was called during a fetch, Wimp_Poll always returned
immediately with a Wimp redraw window event, hence never yielding to other
applications.

My fix / quick hack, is to limit the frequency with with Wimp_ForceRedraw
can be called on the status bar. I don't know the procedure for submitting
changes to the repository, so I'll post it here:

In file riscos.gui.status_bar/c : function ro_gui_status_bar_set_text :

Replace these lines:

  if (sb->visible)
    xwimp_force_redraw(sb->w, 0, 0, sb->width - WIDGET_WIDTH, 65536);

With these:

  if (sb->visible) {
    static clock_t last = 0;

    if (clock() > last + 50) {
      xwimp_force_redraw(sb->w, 0, 0, sb->width - WIDGET_WIDTH, 65536);
      last = clock();
    }
  }

I've replaced tabs with spaces to make this read better.


-- 
Rik Griffin
Software Engineer, Denbridge Marine Ltd
Registered in England and Wales at DSG, 43 Castle St, Liverpool. L2 9TL.
Registered Number 4850477.

Reply via email to