GTK+ problems using functions I used in Motif before



Hi,

I'm experimenting some problems with events on my GtkGlArea.

The problem occurs when I pressed my mouse button and released it very fast, moving the mouse around ONLY THE FIRST TIME. This made me think about initilization problems, but it doesn't seem to be the point.

Let's see:

-First of all, I have a UpdateRotation() function which uses the initial mouse position (button pressed) and the current mouse position (get by motion or released) to update my objetct in the scene.

-I have one callback for the "button_press_event" where I get the initial mouse position and my initial rotation matrix.

-Another one for the "motion_notify_event" where I call UpdateRotation() and update my rotation matrix in function of the initial rotation matrix get from the previous callback.

-And the last one for "button_released_event" where I only call UpdateRotation.

The problem is:
when I press and relase the button to fast moving the mouse from it's initial position, I don't understand why, but the function which returns me my rotation matrix, sends me a matrix full of zeros (the first time, it should return the identity matrix).

This doesn't happen if I don't move the mouse around. It doesn't happen neither if I repeat the same operation after rotating the object correctly for the first time...

If I "g_print" the rotation matrix when I paint the scene at the beginning of my application, it seems to be ok (identity matrix).

But if I "g_print" it again in my "button_press_event" callback, it seems to be full of zeros (when using the mouse as mentined above).

I have solve the problem calling the function which get the initial rotation matrix in my InitGL() function, which I used at the beginning of my program... but I don't really understand why didn't it work before..


In fact.. I'm using the same functions I used in Motif before, and they worked pretty fine with Motif.


What it's happening? Does it have something to do with GTK+ or am I just getting more and more crazy?

Thanks in advance,
  Ignacio Nodal





[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]