Re: [PATCH] Make make_dir dialog show up always.

  • From: <tpgww@xxxxxxxxxxx>
  • To: emelfm2@xxxxxxxxxxxxx
  • Date: Sun, 9 Mar 2008 09:41:07 +1100

On Sat, 8 Mar 2008 14:25:19 +0100
"Maarten Maathuis" <madman2003@xxxxxxxxx> wrote:

> On 3/7/08, Maarten Maathuis <madman2003@xxxxxxxxx> wrote:
> > On 3/7/08, tpgww@xxxxxxxxxxx <tpgww@xxxxxxxxxxx> wrote:
> >  > On Sun, 2 Mar 2008 01:20:06 +0100
> >  >  "Maarten Maathuis" <madman2003@xxxxxxxxx> wrote:
> >  >
> >  >  > Sometimes the make_dir dialog stays empty (the border and background
> >  >  > exists, but the rest not), until it moves or is resized, i found a way
> >  >  > to avoid this. I'm not sure if this is the right way.
> >  >  >
> >  >
> >  > Thanks for the feedback Maarten.
> >  >
> >  >  I don't think that anything bad results from the change you've 
> > suggested (apart from some redundant CPU activity), but on the other hand, 
> > looking at the mkdir code I can't see why the change would help anything, 
> > either. This suggests to me that a more-subtle problem is lurking there 
> > somewhere.
> >  >
> >  >  It's way hard to track down things that occur only sometimes. Can you 
> > recall anything about the circumstances where it did appear ?
> >  >
> >  >  What happens if, instead of the change you suggested, the '0' argument 
> > is
> >  >   'E2_DIALOG_THREADED | E2_DIALOG_DONT_SHOW_ALL'
> >  >  and the surrounding gdk_threads_enter/leave are omitted ?
> >
> >
> > That doesn't resolve the problem.
> >
> >  The conditions of reproducing this involve giving the window as little
> >  reason to change. Moving and resizing will cause it to appear
> >  properly. The precise conditions to reproduce this i do not know.
> >
> >  Note that i use a window manager that doesn't reparent windows, so
> >  other window managers may hide this problem.
> >
> >
> >  >
> >  >  Regards
> >  >  Tom
> >  >
> >  >
> >  >
> >  >  --
> >  >  Users can unsubscribe from the list by sending email to 
> > emelfm2-request@xxxxxxxxxxxxx with 'unsubscribe' in the subject field or by 
> > logging into the web interface.
> >  >
> >
> 
> It seems you pushed those changes, you do know that it doesn't fix the 
> problem?
Yes, the small cleanup (and several others, since then) were worth doing anyway.

I've rediscovered why the E2_DIALOG_DONT_SHOW_ALL option needs to be there. It 
prevents display of the contents of the expander before the expander is opened.

I've done a runtime test on the dialog, and recursively confirmed that every 
dialog widget, other than the one shown when the expander is open, is visible 
at the start of the dialog. This confirms my previous assessment that the 
problem is not about widget visibility.

And it's not about GUI freezing generally, or else it would not fix itself when 
you move the dialog. So it seems likely to be about the window "painting" 
process.

Does it help to insert a small pause after the dialog show call, say, usleep 
(20000) ? 

What window manager do you use ?

Regards
Tom


-- 
Users can unsubscribe from the list by sending email to 
emelfm2-request@xxxxxxxxxxxxx with 'unsubscribe' in the subject field or by 
logging into the web interface.

Other related posts: