GNOME Bugzilla – Bug 351729
Unnecessary/broken windows
Last modified: 2007-05-27 18:01:26 UTC
When opening several dialogs such as 'New Task' evolution will attempt to open a window called 'Task Details' which is immediately removed. This isn't noticeable with most window managers but can be an annoyance with some and can crash in others.
I must have missed some of the fields so here's some more info (sorry for the e-mails): To Reproduce: Method 1. 1. Start X11 using twm: CTRL-ALT-F1, login, $ X :1 & DISPLAY=:1.0 twm 2. Run evolution WITH gtk sync: left click -> xterm, $ evolution --sync 3. Create a dialog: file -> new -> task 4. This should make you place two windows instead of just one, the first window titled "Task Details" will disappear once the second window is placed. Method 2. 1. Install TreeWM (http://treewm.sourceforge.net/) (This is the window manager I use, it may effect others but I'm not sure). 2. Start X11 using TreeWM: CTRL-ALT-F1, login, $ X :1 & DISPLAY=:1.0 treewm 3. Run evolution with OUT gtk sync: ALT-Space, type '!evolution' (without quotes) and hit enter, ALT-Space 4. Create a dialog: file -> new -> task 5. This should create a dialog that flickers and takes up 100% of the CPU power and wont go away until evolution is shut down. Reasons and Fixes: I was looking at the source code and found some stuff such as: calendar/gui/dialogs/task-editor.c 441: gtk_widget_show_all (priv->task_details_window); 442: gtk_widget_hide (priv->task_details_window); This seems a little silly to me and when I commented it out it fixed the problem, however I would assume there's a reason for it in the first place but I don't know what that is. You should be able to get a list of everywhere this happens by running '$ grep -A 1 -R "gtk_widget_show" * | grep -B 1 "gtk_widget_hide"' As noted earlier, it can also be temporarily fixed by either using or not using the --sync flag depending on the particular window manager
hi andy, thanks a lot for taking the time to report this. chen?
I can see this on my box too with a plain gnome using metacity. Although it is really quick, this shouldn't happen as it might confuse users in "hey what just happened !".
Created attachment 88158 [details] [review] proposed patch for evolution; instead of call gtk_widget_show_all and gtk_widget_hide on whole task_details_window, it calls only gtk_widget_show_all on container child of task_details_window
This issue exists in new meeting window also I would like to fix that too. This patch looks fine.
Fixed this to head/stable. Fixed the issue in the meeting window also.