Skip to main content


Eclipse Community Forums
Forum Search:

Search      Help    Register    Login    Home
Home » Eclipse Projects » Standard Widget Toolkit (SWT) » Bug with BusyIndicator.showWhile(Display, Runnable)?
Bug with BusyIndicator.showWhile(Display, Runnable)? [message #436556] Wed, 19 May 2004 11:42 Go to next message
Eclipse UserFriend
Originally posted by: peter.cameron.volantis.com

I'm having a problem on Linux and GTK (Eclipse 2.1.2) when using
BusyIndicator.showWhile. Other uses of BusyIndicator in our code work as
expected: a busy cursor is produced for the duration of the "job". There is
no conceptual difference between the jobs that do give busy cursors and
those that don't. All the jobs do a data lookup and manipulation, which
involve no GUI updates. The BusyIndicator.showWhile is executed as the
result of a Button widget press.

Posting example code won't shed any light into this. The code follows the
obvious pattern, which is executed as the result of a button press:

BusyIndicator.showWhile(shell.getDisplay(), new Runnable() {
public void run() {

// Do data lookup and manipulations
}
});


I've experimented with BusyIndicator, Display.syncExec and Display.asyncExec
for the one "problem" job and this is what I've found:


1. BusyIndicator.showWhile produces no busy cursor.
2. Using Display.syncExec instead of BusyIndicator, and manually creating
and setting a busy cursor on the shell in the Runnable, and resetting and
disposing of the cursor after the data manipulations produces NO busy
cursor.
3. Using Display.asyncExec in 2 produces NO busy cursor.
4. NOT using BusyIndicator, Display.syncExec, Display.asyncExec and having
no Runnable, and setting the cursor manually does NOT produce a busy
cursor.

The only thing that produces a busy cursor for me is:

1. Use BusyIndicator.showWhile and manually set the busy cursor in its
Runnable.

This defeats the purpose somehow!

I'm downloading 2.1.3 to see if there's any difference.

Any ideas?

Peter
Re: Bug with BusyIndicator.showWhile(Display, Runnable)? [message #436571 is a reply to message #436556] Wed, 19 May 2004 15:57 Go to previous message
Steve Northover is currently offline Steve NorthoverFriend
Messages: 1636
Registered: July 2009
Senior Member
Is someone else reseting the cursor on you? (not sure how this could be
because your work around sets the cursor before doing the work in the
runnable). There is a bug on GTK where text controls intercept the cursor.
Does the same code work on Windows but fail on GTK?

"Peter Cameron" <peter.cameron@volantis.com> wrote in message
news:c8fgq2$5q7$1@eclipse.org...
> I'm having a problem on Linux and GTK (Eclipse 2.1.2) when using
> BusyIndicator.showWhile. Other uses of BusyIndicator in our code work as
> expected: a busy cursor is produced for the duration of the "job". There
is
> no conceptual difference between the jobs that do give busy cursors and
> those that don't. All the jobs do a data lookup and manipulation, which
> involve no GUI updates. The BusyIndicator.showWhile is executed as the
> result of a Button widget press.
>
> Posting example code won't shed any light into this. The code follows the
> obvious pattern, which is executed as the result of a button press:
>
> BusyIndicator.showWhile(shell.getDisplay(), new Runnable() {
> public void run() {
>
> // Do data lookup and manipulations
> }
> });
>
>
> I've experimented with BusyIndicator, Display.syncExec and
Display.asyncExec
> for the one "problem" job and this is what I've found:
>
>
> 1. BusyIndicator.showWhile produces no busy cursor.
> 2. Using Display.syncExec instead of BusyIndicator, and manually creating
> and setting a busy cursor on the shell in the Runnable, and resetting and
> disposing of the cursor after the data manipulations produces NO busy
> cursor.
> 3. Using Display.asyncExec in 2 produces NO busy cursor.
> 4. NOT using BusyIndicator, Display.syncExec, Display.asyncExec and having
> no Runnable, and setting the cursor manually does NOT produce a busy
> cursor.
>
> The only thing that produces a busy cursor for me is:
>
> 1. Use BusyIndicator.showWhile and manually set the busy cursor in its
> Runnable.
>
> This defeats the purpose somehow!
>
> I'm downloading 2.1.3 to see if there's any difference.
>
> Any ideas?
>
> Peter
>
Previous Topic:Right-aligned icons in tool bar
Next Topic:SWT_AWT still experimental?
Goto Forum:
  


Current Time: Fri Apr 19 12:51:43 GMT 2024

Powered by FUDForum. Page generated in 0.02214 seconds
.:: Contact :: Home ::.

Powered by: FUDforum 3.0.2.
Copyright ©2001-2010 FUDforum Bulletin Board Software

Back to the top