[01:06] <AlbertA> @vogons: FYI mir 0.13.3 release is now waiting for QA approval
[01:06] <RAOF> Woot.
[01:49] <duflu> RAOF: Remind me what we can't load twice; is it libprotobuf or libmirprotobuf?
[01:49] <RAOF> duflu: libprotobuf
[01:49] <duflu> I recall I proposed a solution to that months ago
[01:49] <duflu> We just never implemented it
[01:49] <duflu> Need to dig it up
[01:50] <RAOF> Well, I guess it's actually libmirprotobuf, but due to a libprotobuf behaviour.
[01:52] <duflu> I also recall alf logged a manual test case somewhere
[01:52] <RAOF> Yeah, it *would* be possible to patch protobuf to not abort on us.
[01:53] <RAOF> This has been proposed upstream (at least twice that I'm aware of).
[01:55] <duflu> RAOF: Or just dlopen libprotobuf and throw away the key. Leaking it once on startup ensures the dynamic loader won't load it twice
[01:55] <RAOF> Ah, no.
[01:55] <RAOF> The problem is that libprotobuf calls abort() when we load libmirprotobuf twice.
[01:55] <duflu> RAOF: Init function?
[01:56] <RAOF> Correct.
[01:57] <RAOF> Specifically - the protobuf compiler adds an init function to libmirprotobuf that calls a libprotobuf function that is (a) necessary, and (b) aborts() if called twice.
[04:48] <RAOF> Well, *that* has profoundly unintuitive consequences...
[04:51] <RAOF> Ok, sure. Don't call mir_connection_* functions from MirConnection. Why not.
[05:26] <duflu> RAOF: I would expect deadlocks (default mutexes are not reentrant)...?
[05:27] <RAOF> This call had no mutexes held.
[05:27] <RAOF> But it turns out that it'll cause mir-client-debug-extension to fail to link :)
[11:55] <dandrader> anpok, ping
[11:58] <anpok> dandrader: pong
[11:59] <anpok> dandrader: you need relative mouse coordinates.. and hints on how to disable the cursor display of usc?
[12:00] <dandrader> anpok, I would say mouse device events instead of the higher level pointer events
[12:00] <dandrader> anpok, and yes, a way for qtmir/unity8 to disable USC cursor
[12:07] <anpok> .. we still have to implement sending raw mouse movements
[12:07] <dandrader> anpok, yeah, that card, right. https://trello.com/c/FfH2HUV8/109-add-client-api-for-subscription-to-raw-events
[12:08] <dandrader> anpok, but is it already possible to hide/disable USC cursor?
[12:08] <anpok> yes .. I think through the cursor configuration ..  just checking
[12:10] <anpok> hm ok I might be wrong
[12:36] <anpok> so it seems we need to add something for both
[13:46] <dandrader> anpok, should I create a card for this "make it possible for qtmir/unity8 to hide/disable USC cursor"? or will you do it?
[14:20] <dandrader> anpok, well, I created https://trello.com/c/VrM6AVaq
[14:41] <anpok> dandrader: take a look at tests/acceptance-tests/throwback/test_client_cursor_api.cpp
[14:41] <anpok> -> DisabledCursorClient..
[14:42] <anpok> set mir_disabled_cursor_name and configure at surface
[17:44] <AlbertA> I think locking a mutex is a fundamentally bad idea....
[17:44] <AlbertA> in a destructor
[17:56] <kdub> AlbertA, maybe if there's a static that needs modifying, might be okay
[18:23] <attente> hi, is mir_surface_configure_cursor() working for anyone in the demo shell? doesn't seem to do anything for me
[18:24] <attente> tried to pass in mir_caret_cursor_name, but no luck...
[18:48] <racarr_> attente: The last time I tried I was able to run mir_Demo_client_cursors
[18:48] <racarr_> and uh
[18:48] <racarr_> hover the cursor over the surface and see the cursor change
[18:48] <racarr_> lemme try again now
[18:48] <racarr_> attente: works for me
[18:49] <racarr_> -.- which must not be particularly helpful
[18:49] <racarr_> ill help you more after lunch! I dunno what would be up with your configuration...
[18:50] <attente> racarr_: sure, thanks :)
[19:27] <racarr_> back
[19:27] <racarr_> attente: So does demo_client_cursors work
[19:53] <attente> racarr_: is there something special i need to do to build the examples?
[19:56] <racarr_> attente: No it should be there in build/bin/ or mir-demos package
[20:16] <attente> racarr_: ok, it just pops up a small grey surface, is the cursor supposed to change when i mouse over?
[20:16] <attente> it doesn't change when i click either
[20:23] <racarr_> attente: Are you perhaps on fedora or something
[20:23] <racarr_> I wonder if the cursor locations are different the
[20:23] <racarr_> XCursor loading isn't horribly sophisticated
[20:24] <racarr_> attente: There is mir_demo_client_animated_cursor which uhhh
[20:24] <racarr_> shows like a white rectangle fade opacities
[20:24] <racarr_> that doesnt require XCursor
[20:24] <racarr_> so if that works, then the cursor is working but
[20:24] <racarr_> the cursor themes aren't working
[20:25] <attente> racarr_: the animated cursor changes it to a white square that fades in repeatedly
[20:25] <attente> is it supposed to be like that? or is there some graphic usually?
[20:26] <racarr_> attente: No thats
[20:26] <racarr_> the graphic :p
[20:26] <attente> ah :)
[20:26] <racarr_> but now we've verified that setting hte cursor works
[20:26] <racarr_> but loading the themed cursor images doesn't work
[20:26] <racarr_> attente: Hmm...so...uh...
[20:26] <attente> where do those images come from usually?
[20:26] <racarr_> attente: You can file a bug and I can help at some point or
[20:26] <racarr_> attente: instrument src/server/input/xcursor_loader.cpp to see whats happening
[20:26] <racarr_> attente: I dunno lets see
[20:27] <racarr_> attente: 3rd_party/xcursor/xcursor.c
[20:27] <racarr_> #define XCURSORPATH "~/.icons:/usr/share/icons:/usr/share/pixmaps:~/.cursors:/usr/share/cursors/xorg-x11:"ICONDIR
[20:27] <racarr_> #define ICONDIR "/usr/X11R6/lib/X11/icons"
[20:27] <racarr_> also accepted
[20:27] <racarr_> XCURSOR_PATH env var
[20:28] <attente> oh. do you think if i install adwaita-icon-theme it might work?
[20:28] <racarr_> attente: Yeah! Do you not have an icon theme?
[20:29] <racarr_> You need something in one of those directories
[20:29] <racarr_> with
[20:29] <racarr_> a cursor.theme inside
[20:29] <racarr_> uh
[20:29] <attente> racarr_: i guess i wouldn't have it under a clean jhbuild
[20:29] <racarr_> anyway if you have it ina nothe rlocation we can modify things to
[20:29] <racarr_> look there
[20:29] <racarr_> ah
[20:29] <racarr_> interesting
[20:29] <attente> racarr_: i'll try it and let you know :)
[20:29] <attente> thanks
[20:29] <racarr_> Thank you
[20:29] <racarr_> we should add some logging!
[20:39] <attente> racarr_: unfortunately no luck :(
[20:39] <racarr_> attente: I guess if it was in a nonstandard location youw ould need to set
[20:39] <racarr_> XCURSOR_PATH to the folder containing
[20:39] <racarr_> the
[20:39] <racarr_> theme folder
[20:42] <attente> racarr_: even setting it doesn't seem to work
[20:43] <racarr_> attente: Hmm...the env variable definitely works for loading non system themes because thats used in a test
[20:44] <racarr_> not sure whats going on...I guess wed need more logging to tell
[20:44] <attente> racarr_: do you know what directory the cursors are stored in your machine? can you do a dpkg -S on it to see what package they come from?
[20:48] <racarr_> attente: I have /usr/share/icons/Adwaita/cursor.theme
[20:48] <racarr_> from gnome-themes-standard-data
[20:48] <racarr_> and dmz-cursor-theme /usr/share/icons/DMZ-Black/cursor.theme
[20:48] <racarr_> + DMZ-White
[20:51] <attente> racarr_: i'm getting this from strace|grep: http://paste.ubuntu.com/11737387/
[20:51] <attente> er wait
[20:51] <attente> i have to do that on the server