After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 670874 - floating toolbar not working
floating toolbar not working
Status: RESOLVED FIXED
Product: empathy
Classification: Core
Component: VoIP
3.4.x
Other Linux
: Normal normal
: 3.4
Assigned To: empathy-maint
empathy-maint
Depends on:
Blocks:
 
 
Reported: 2012-02-27 10:44 UTC by Guillaume Desmottes
Modified: 2012-05-19 19:52 UTC
See Also:
GNOME target: 3.4
GNOME version: ---



Description Guillaume Desmottes 2012-02-27 10:44:06 UTC
I just received an audio only call which was working fine but the buttons in the floating bar was not clickable so it was impossible for me to start sending video or adjust the volume.
Comment 1 Guillaume Desmottes 2012-03-05 11:58:28 UTC
It works fine with clutter-gtk 1.0.4 so that's definitely a clutter-gtk regression.

According to git bisect the regression has been introduced in e31baffd63dd9533eab4ca752f720bbbd0e1322f or 109252d0e634fd3eda697459e8482b9d48d92ec6
Comment 2 Guillaume Desmottes 2012-03-05 12:01:22 UTC
This toolbar is created in http://git.gnome.org/browse/empathy/tree/src/empathy-call-window.c#n1729
Comment 3 Guillaume Desmottes 2012-03-16 14:20:35 UTC
Unfortunatelly I didn't manage to reproduce this in a simple test app. :(
Any chance a clutter dev could take a look on this? It's pretty critical as that's an important part of Empathy's new call UI.

It's very easy to reproduce, just start a XMPP call with empathy 3.3.90 or newer (it's in Debian) and try to use the floating toolbar; the one containing 'Duration' see http://people.collabora.com/~cassidy/blog/empathy-call.jpg
Comment 4 Emmanuele Bassi (:ebassi) 2012-03-16 14:42:33 UTC
are you sure you're setting all the actors as reactive?

can you try by using:

  export CLUTTER_PICK=dump-pick-buffers

and see if all the actors are painted when in pick mode?

the commits your bisect point at didn't really change much in clutter-gtk: it's just a set of changes to reflect the changes in clutter that happened at the beginning of the 3.3 cycle.
Comment 5 Guillaume Desmottes 2012-03-16 15:24:56 UTC
(In reply to comment #4)
> are you sure you're setting all the actors as reactive?

I added a bunch of clutter_actor_set_reactive() calls to be sure and that didn't help. Anyway, this is working with clutter-gtk  1.0.4 so I doubt that's the problem.

> can you try by using:
> 
>   export CLUTTER_PICK=dump-pick-buffers
> 
> and see if all the actors are painted when in pick mode?

It generates a bunch of pick-buffer-ClutterStage-*.png. Most of them are completely white and a few contains a shape of the size of the window.
Comment 6 Emmanuele Bassi (:ebassi) 2012-03-20 13:34:41 UTC
but nothing with the floating toolbar? then something is marking it as not reactive.
Comment 7 Emmanuele Bassi (:ebassi) 2012-03-20 13:39:38 UTC
there's also the option of using CLUTTER_DEBUG=event and look at the log to see what happens to the events coming from the pointer when the toolbar is involved.

I cannot create a test case where a GtkToolbar inside a GtkClutterActor marked as reactive does not receive events - and there's even one in the the clutter-gtk examples directory (the gtk-clutter-window-test example).
Comment 8 Guillaume Desmottes 2012-03-21 11:19:33 UTC
Here is the log when clicking on a button. Note that the toolbar button doesn't appear to be clickable: its state doesn't change when hovering it like it does with gtk-clutter-window-test example which works fine.


Clutter-Message: [     73699312777]:[EVENT]:./x11/clutter-device-manager-xi2.c:784: button press  : win:0x1e00020, device:TPPS/2 IBM TrackPoint (button:1, x:205.00, y:312.00, axes:yes)
Clutter-Message: [     73699312946]:[EVENT]:./x11/clutter-device-manager-xi2.c:784: button press  : win:0x1e00020, device:Virtual core pointer (button:1, x:205.00, y:312.00, axes:yes)
Clutter-Message: [     73699313278]:[EVENT]:./clutter-main.c:2644: Event received
Clutter-Message: [     73699313399]:[EVENT]:./clutter-input-device.c:736: Actor under cursor (device 2, at 205, 312): ClutterStage
Clutter-Message: [     73699313453]:[EVENT]:./clutter-main.c:2600: Reactive event received at 205.00, 312.00 - actor: 0x22727f0
Clutter-Message: [     73699313534]:[EVENT]:./clutter-main.c:2154: Restoring previous click count:1 (device:2, time:73686712)
Clutter-Message: [     73699313581]:[EVENT]:./clutter-main.c:2185: Reset click count (button: 1, time: 73699311)
Clutter-Message: [     73699313620]:[EVENT]:./clutter-main.c:2210: Storing click count: 1 (device:2, time:73699311)
Clutter-Message: [     73699422121]:[EVENT]:./x11/clutter-device-manager-xi2.c:784: button release: win:0x1e00020, device:TPPS/2 IBM TrackPoint (button:1, x:205.00, y:312.00, axes:yes)
Clutter-Message: [     73699422288]:[EVENT]:./x11/clutter-device-manager-xi2.c:784: button release: win:0x1e00020, device:Virtual core pointer (button:1, x:205.00, y:312.00, axes:yes)
Clutter-Message: [     73699422464]:[EVENT]:./clutter-main.c:2644: Event received
Clutter-Message: [     73699422586]:[EVENT]:./clutter-input-device.c:736: Actor under cursor (device 2, at 205, 312): ClutterStage
Clutter-Message: [     73699422638]:[EVENT]:./clutter-main.c:2600: Reactive event received at 205.00, 312.00 - actor: 0x22727f0
Clutter-Message: [     73699422709]:[EVENT]:./clutter-main.c:2154: Restoring previous click count:1 (device:2, time:73699311)
Comment 9 Guillaume Desmottes 2012-03-21 14:17:42 UTC
Btw here is the log when hovering on a toolbar button:


Clutter-Message: [     84710914561]:[EVENT]:./x11/clutter-device-manager-xi2.c:1003: motion: win:0x2600020 device:TPPS/2 IBM TrackPoint (x:208.00, y:306.00, axes:yes)
Clutter-Message: [     84710914639]:[EVENT]:./x11/clutter-device-manager-xi2.c:1003: motion: win:0x2600020 device:Virtual core pointer (x:208.00, y:305.00, axes:yes)
Clutter-Message: [     84710914717]:[EVENT]:./clutter-main.c:2653: Event received
Clutter-Message: [     84710914778]:[EVENT]:./clutter-input-device.c:736: Actor under cursor (device 2, at 208, 305): ClutterStage
Clutter-Message: [     84710914803]:[EVENT]:./clutter-main.c:2600: Reactive event received at 208.00, 305.00 - actor: 0xb5ce30 (ClutterStage)
Comment 11 Sjoerd Simons 2012-05-19 19:52:19 UTC
commit 001e077b3575d2525bb7354d78e0e25837db73e7
Author: Sjoerd Simons <sjoerd@luon.net>
Date:   Sat May 19 20:30:57 2012 +0200

    Call: Fix floating toolbar
    
    Empathy needed to mark the toolbar actor as reactive otherwise it won't
    be reactive to events (doh)...
    
    And empathy needed to stop calling gdk_disable_multi_device().. Empathy
    used to do this because it has to be called before GTK+ is initialized
    and clutter-gtk only called after GTK+ was initialized by other function
    in empathy. Unfortunately since clutter-gtk 1.1.2 instead of ensuring
    event actually work with clutter-gtk calling this function will actually
    break event handle (great fun!)..
    
    Oh and also bump the clutter-gtk requirement to 1.1.2 to ensure we get
    the right behaviour for events..
    
    https://bugzilla.gnome.org/show_bug.cgi?id=670874