Julian T J Midgley <[EMAIL PROTECTED]> writes:

> It happened again - looks like there are two separate bugs:

> 1. Something causes gtimer to become totally unresponsive to
> mouse/keyboard input (clicking anywhere in the gtimer window has no
> effect). This happened today after it had been running for about 5
> hours. The display doesn't freeze however - the task being timed
> continues to be updated and the hand of the little clock icon continues
> to revolve; the window also responds correctly to being resized.
> However, trying to close it using the usual "close window" icon in the
> enlightenment border doesn't work - it carries on running.
> gtimer_bug_2.strace is the strace obtained whilst it was running in this
> state (while the strace was running I tried to click on icons, etc in
> the window).

I have no idea what's causing this, and the strace didn't really tell me
anything.  It looked like gtimer just wasn't getting any X events, but I
don't know what would cause that.  I'm afraid I'm about at my limits of
understanding X and GTK programming here.

> 2. I can now reliably reproduce the "writing huge window heights" bug.
> This happens every time I kill gtimer by right clicking on the close
> window icon (regardless of whether gtimer had first got into the
> unresponsive but still alive state described above).

This, on the other hand, I think I can do something about.  I can't
reproduce this with fvwm, which makes me wonder how Enlightenment is
killing the application and why it's different.  When I force-quit in
fvwm, I just get:

Gdk-ERROR **: X connection to :0.1 broken (explicit kill or server shutdown).

But regardless, I think I see the erroneous code.  Would you be willing to
build a new version of the package with the following patch and see if it
takes care of the bad window size problem?  You can do this with:

    apt-get build-dep gtimer
    apt-get source gtimer

and then drop this patch into debian/patches/26_309779-bad-size.patch in
the unpacked source tree and build with debuild or the like.  If that's
more hacking on Debian packages than you're comfortable with, let me know,
and I can build a test version of the package for you.

diff -Nru3 ./gtimer-1.1.6/main.c ../build-tree.new/gtimer-1.1.6/main.c
--- ./gtimer-1.1.6/main.c       2005-05-31 21:06:36.000000000 -0700
+++ ../build-tree.new/gtimer-1.1.6/main.c       2005-05-31 21:05:59.000000000 
-0700
@@ -794,9 +794,13 @@
   save_all ();
 
   /* save window size */
+  w = 0;
+  h = 0;
   gdk_window_get_size ( GTK_WIDGET ( main_window )->window, &w, &h );
-  configSetAttributeInt ( CONFIG_MAIN_WINDOW_WIDTH, w );
-  configSetAttributeInt ( CONFIG_MAIN_WINDOW_HEIGHT, h );
+  if ( w != 0 && h != 0 ) {
+    configSetAttributeInt ( CONFIG_MAIN_WINDOW_WIDTH, w );
+    configSetAttributeInt ( CONFIG_MAIN_WINDOW_HEIGHT, h );
+  }
 
   /* get columns widths in main window */
   w = GTK_CLIST ( task_list )->column[0].width;

-- 
Russ Allbery ([EMAIL PROTECTED])             <http://www.eyrie.org/~eagle/>


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]

Reply via email to