[00:13] <racarr> I just used
[00:13] <racarr> the cursor to click on things in a Qt app
[00:13] <racarr> oO
[00:14] <racarr> :D
[00:16] <racarr> kdub: Any ideas yet for cursor damage
[00:20] <kdub> racarr, got distracted :P
[00:20] <racarr> kdub: np
[00:21] <racarr> one possibility is the compositor sets the damage callback the same way it does now for the Renderables
[00:21] <racarr> on the Display
[00:21] <racarr> and Display exposes some method like
[00:21] <racarr> damage_region
[00:24] <racarr> moving the cursor is so great
[00:24] <racarr> *grin*
[00:32] <RAOF> racarr: Cursor damage? You mean, for swcursor?
[00:35] <racarr> RAOF: Yeah! I wrote a sw cursor shell
[00:35] <racarr> it implements the compositing strategy to draw an overlay
[00:45] <RAOF> Cool
[00:46] <racarr> RAOF: And I filled out enough of window handle to get pointer events working :)
[00:46] <racarr> clicked on some qt stuff
[00:47] <RAOF> Woo! Input you can *see* :)
[00:48] <racarr> I think I will write an acceptance test for pointer events
[00:48] <racarr> then make it pass with the bits from this branch and propose those seperately
[00:49] <racarr> because the sw cursor is in the demo shell which isn't ready to land yet I guess
[00:50] <racarr> or work on damage
[00:50] <racarr> hmm
[01:17] <deathye> :3
[01:41] <robert_ancell> racarr, what is the point of CachedPtr?
[01:49] <racarr> robert_ancell: Prevent reference cycles (it keeps a weak_ptr)
[01:59] <RAOF> The question remains: what is the point of CachedPtr?
[02:00] <RAOF> Is it simply a weak_ptr convenience class?
[02:18] <racarr> Basically.
[02:19] <duflu> Hmm, I wonder how well that abstraction makes sense? Haven't used it. But I did encounter a reference cycle problem in surface-states which required weak_ptr
[02:25] <racarr> well it doesnt
[02:25] <racarr> prevent reference cycles in general but it
[02:25] <racarr> allows for each of the components
[02:25] <racarr> of the server configuration
[02:25] <racarr> to have singleton factory methods
[02:25] <racarr> without reference cycle
[02:27] <duflu> Umm, kay.
[09:24] <mpt> Mirrrrrrrrrrrrrrrrr
[09:28] <duflu> rocks?
[09:42] <ogra_> rrrrors ?
[09:54] <duflu> OK... Friday nonsense. Must be weekend time...
[11:35] <alan_g> alf_: where do you think EventSink/Queue belong?
[11:40] <alf_> alan_g: EventSink is used all over the place (and both in server and client), so I think that the current placement is OK
[11:40] <alf_> alan_g: EventQueue is currently a detail in frontend, so I would be inclined to place it there (and don't expose it)
[11:40] <alf_> alan_g: to other modules yet
[11:42] <alan_g> alf_: that sounds right to me too
[11:44] <alan_g> although I think namespace mir should be uncluttered
[11:44] <alf_> alan_g: so create e.g. mir::event ?
[11:45] <alan_g> alf_: perhaps. Not a blocker just now though.
[15:03] <kdub> hello all! status, a few branches in the air to remove the 3rd_party/android-fbtype directory, to upgrade to raring. working on hwc1.0 vsync support today
[15:05] <alan_g> kdub: hello one!
[15:05] <alan_g> status: reviewing and refactoring
[15:15] <alf_> status: iterating MPs, working on/proposed pause-communicator MP
[16:18] <racarr> Morning
[16:19] <kdub> morning racarr
[16:19] <kdub> hmm, no android classes on doxygen?
[16:19] <alan_g> Afternoon all
[18:51] <bschaefer> racarr, ping
[20:20] <racarr> bschaefer: Pong
[20:20] <bschaefer> racarr, hello!
[20:20] <racarr> bschaefer: Hey! How goes?
[20:20] <racarr> Just got back from lunch :)
[20:21] <bschaefer> racarr, good! How about yourself :)
[20:21] <racarr> Excellent!
[20:21] <bschaefer> awesome, soo I've some questions about mir input :)
[20:21] <racarr> Ok! Shoot
[20:22] <bschaefer> im working on porting Mir to SDL atm, but looking at setting up : mir_surface_set_event_handler
[20:22] <racarr> ok
[20:22] <bschaefer> which isn't working atm, as it seems to be using the android platform?
[20:22] <racarr> no its just the android
[20:22] <racarr> input stack
[20:22] <racarr> its a little misleading
[20:22] <bschaefer> also the egl apps don't seem to be working with input either :(
[20:22] <racarr> as it stands input in trunk ... at least for key! You should be able to get some events
[20:22] <racarr> you need --enable-input=true
[20:22] <racarr> and permissions on /dev/input/*
[20:23] <racarr> Can you try with both of those?
[20:23] <bschaefer> right, I had to do that for umm the eglapp and got this problem
[20:23] <bschaefer> http://paste.ubuntu.com/5722394/
[20:23] <bschaefer> there doesn't seem to be focus?
[20:24] <racarr> bschaefer: Ah!
[20:24] <racarr> input was briefly broken in trunk
[20:24] <racarr> https://code.launchpad.net/~robertcarr/mir/fix-1170524/+merge/159743
[20:24] <racarr> do you have this revision?
[20:24] <bschaefer> racarr, oo nice, I havn't updated today!
[20:24]  * bschaefer checks
[20:24] <bschaefer> im at rev 606 :), let me try that out!
[20:25] <bschaefer> also, so the basic idea for input in Mir, is to set up an event callback, and let the app filter out the events?
[20:33] <racarr> bschaefer: Yes. I mean the app only gets events intended for it
[20:33] <bschaefer> racarr, awesome, sounds very easy :)
[20:33] <racarr> bschaefer: Yes. The thing to remember is event callback
[20:33] <racarr> will be invoked from a seperate thread
[20:33] <racarr> so you have to
[20:34] <racarr> well. synchronize somehow
[20:34] <bschaefer> oo, so pump/flush the fd?
[20:34] <bschaefer> for the surface
[20:35] <bschaefer> or wait until its received an event ... there was mir_wait but that was for something else :)
[20:36] <racarr> bschaefer: The input is on a seperate fd that is all managed internally
[20:36] <racarr> so once you create the surface
[20:36] <racarr> there is a thread which polls on that fd
[20:36] <racarr> and dispatches events to your callback once they arrive
[20:36] <racarr> I just mean
[20:36] <racarr> whatever object in SDL you are giving the events to
[20:36] <racarr> needs to be prepared to be used from another thread
[20:36] <racarr> or you have to lock it yourself
[20:37] <bschaefer> racarr, ooo, alright Ill have to keep that in mind
[20:37] <racarr> Excited to see SDL on Mir :)
[20:37] <bschaefer> cause, im just starting on the input side of things, as I already have opengles v 1/2 running fine :)
[20:37]  * bschaefer digs up a screenshot
[20:37] <racarr> In my ~1 week ahead of trunk branch we have a software cursor and
[20:37] <racarr> pointer events to apps
[20:37] <bschaefer> racarr, http://i.imgur.com/D591bOX.jpg
[20:37] <racarr> so will be fun to play with a fully functioning toolkit
[20:37] <bschaefer> awesome!
[20:37] <racarr> QtUbuntu stll has some quirks
[20:38] <racarr> whereas I imagine SDL
[20:38] <bschaefer> yeah, I saw you getting it working yesterday
[20:38] <racarr> well should just work
[20:38] <racarr> mwahaha smileys
[20:38] <bschaefer> :)
[20:38] <bschaefer> 1500
[20:40] <bschaefer> racarr, right, all I think I should have to do, is receive an event from mir, figure out mouse/keyboard and tell SDL we have received a specific event
[20:40]  * bschaefer hopes its that easy
[20:41] <bschaefer> also sweet, receiving events in egl apps now :)
[21:08] <racarr> yay :)
[21:09] <racarr> bschaefer: The keycodes in
[21:09] <racarr> MirEvent are xkbcommon keysyms so you can probably even copy paste
[21:09] <racarr> a big event translation table from somewhere
[21:09] <racarr> if its needed
[21:09] <bschaefer> racarr, right, yeah thats how wayland was doing it
[21:09] <racarr> dont know thatmuch about SDL
[21:09] <racarr> mm
[21:10] <bschaefer> neither do i :)
[21:10] <bschaefer> well more now
[21:10] <racarr> :)
[21:33] <kdub> is it just me, or does g++ ICE all the time?
[21:36] <racarr> kdub: All the time
[21:39] <racarr> i.e. its not just you
[21:39] <racarr> its mostly around std::make_shared
[21:40] <alan_g|EOW> racarr: only if you don't pass the right parameters ;)
[21:47] <racarr> haha
[21:47] <racarr> alan is funny at night
[22:45] <racarr> mer its difficult to acceptance test motion events due to the event batching behavior
[23:12] <kdub> whoohoo, hwc 1.0 was much easier to get going :)
[23:12] <kdub> now that all my android factories are set up