/srv/irclogs.ubuntu.com/2014/05/13/#ubuntu-mir.txt

=== chihchun_afk is now known as chihchun
RAOFToday's yak shaving: gdb --args gdb --args bin/mir_unit_tests --gtest_filter=...03:52
duflu_RAOF: Heh. I encountered gdb crashes ending last week too. Very frustrating05:19
=== duflu_ is now known as duflu
RAOFPrior to that was working out why my local MTA wasn't working.05:44
RAOFSpoilers: nullmailer is terrible, and should not be used by anyone.05:44
tvossRAOF, have been to the nullmailer movie, too :) quite interesting how much CPU something that simple can use06:07
RAOFQuite interesting how many people feel like reimplementing getopt() without features such as “oh, maybe someone will want to have a space in the input” :)06:08
dufluGah, gdb keeps crashing!06:33
RAOFWhile reading debugging symbols?06:36
RAOFIt's pretty rad, isn't it?06:36
anpok_alan_g: I need you opinion09:04
alan_ganpok_: about?09:04
anpok_the issue you discovered in the drop-dynamic-ptr-cast MP - I see two possible ways of cleanup to fix that kind of issue09:05
anpok_not sure which path to take09:05
anpok_because only the server holds the input_dispatcher_configuration and because of the order of calls the in the nested case09:05
anpok_the first instance of it gets discarded after initializing the nested platform09:06
anpok_i thought to fix it by removing the dispatcher_configuration entirely09:06
anpok_there are only two method calls involved the rest of the initialization parameters is passed only through constructors09:07
anpok_.. now I wonder if I should try to hide the droidinput::DispatcherPolicy and droidinput::InputDispatcherInterface types from the default_display_configuration09:08
alan_gHm. This is the problem with several "configuration" objects that hold state. Getting rid of them is a good idea.09:08
anpok_I could do so by moving the construction and wiring into the implementation of mir::input::android::AndroidInputDispatcher09:08
anpok_or should I have them as entities in the DefaultDisplayConfiguration09:09
anpok_when moving them down there, testing without them will require separate construction code..09:09
anpok_down == AndroidInputDispatcher09:09
anpok_on the other hand I dislike leaking that namespace (android and the alias droidinput) into DefautlDisplayConfiguration09:10
alan_ganpok_: I think the long term progression will be to move stuff from the "3rd_party" fork of android input into "src" - and that will eventually resolve the naming issues.09:12
alan_gSo I'm not too bothered by exposing the names. (Or we could just move the classes to a new namespace and have that referenced from droidinput"09:13
anpok_it would be the names and CachedAndroidPtr09:14
anpok_that one pulls in Ref09:14
anpok_RefBase and StrongPointer09:14
alan_gNot so nice.09:15
anpok_which09:15
anpok_might then go away one day too09:15
alan_gTrue. Making them go away would be nice.09:16
anpok_I could try to move those to <memory>09:16
anpok_ok then I will go for the slightly simpler but cleaner solution09:17
alan_gYes. For just a couple of classes that might work. But it could also start an unravel.09:17
alan_gHow about spending an hour or so on changing those sp's as a separate prerequisite MP? If it doesn't go easy then give up for now.09:18
anpok_yap09:19
alan_gHas anyone else noticed that "discover_tests_in_mir_unit_tests" takes an age. WTF is it doing?09:22
dufluDiscovering?09:49
duflu:)09:49
anpok_nothing left to be found?10:00
duflualan_g: Was there any other rule to distinguishing errors from exceptions apart from recoverability?10:37
alan_gduflu: that's certainly one. But with a whole range of error reporting options there's a few nuances. You have a specific example?10:39
duflualan_g: I have a rather nice framework, but am trying to avoid converting too many exceptions to errors. You will see...10:40
=== tsdgeos_ is now known as tsdgeos
=== chihchun is now known as chihchun_afk
=== alan_g is now known as alan_g|lunch
=== alan_g|lunch is now known as alan_g
kgunngreyback: so i'm seeing some other people talk about splash screen in mir...but to me, that doesn't make sense, shouldn't it be unity-mir that paints the 1st frame with a "unity8" splash ?13:12
kgunne.g. other shells might want to have their own splash13:14
greybackkgunn: some shells may not want a splash (desktops don't usually)13:14
greybackkgunn: I intended that unity-mir would supply info to the shell, so the shell could show the splash screen13:15
kgunngreyback: so potentially configurable based on "form factor" ?13:15
greybackkgunn: right13:16
=== chihchun_afk is now known as chihchun
kgunngreyback: thanks, at least we both agree, not a mir thing but a shell thing13:16
greybackkgunn: yep13:17
greybackkgunn: there's a few outstanding questions on splash screen stuff, https://blueprints.launchpad.net/ubuntu/+spec/appdev-1311-sdk-appstartupsplash13:19
greybackkgunn: I'll ping kalikiana and see where they're at13:20
=== chihchun is now known as chihchun_afk
racarr__Morning14:20
=== alan_g is now known as alan_g|tea
seb128rhey racarr__14:25
=== alan_g|tea is now known as alan_g
racarr__seb128: Btw someone else ran in to touchscreen not working in unity8 and I got some logs...am going to debug it today14:31
racarr__so may have a fix14:31
seb128great, thanks14:31
racarr__ill email you if so :)14:31
seb128let me know if you need debug info from me14:31
racarr__I have no touchscreen so will need testing friends at least14:31
seb128sorry I didn't propose that to the other day, I though it was a "need a local config" not a "it's a bug"14:32
seb128I can do that14:32
racarr__np14:32
racarr__I thought it was just going to be a config file thing too but the other guy gave me some logs and there is14:32
racarr__some sort of small email14:32
racarr__some sort of small bug*14:32
racarr__...the keys are right next to eachother?!14:32
seb128(I hope that poor celeron box is good enough to build Mir, I've hear comments about Mir being yet another of those awesome c++ projects so easy to build)14:33
racarr__haha itll be fine14:33
racarr__alan_g: I have run in to a strange architecture issue with the scene observer and cursor and am wondering if you have any ideas...14:37
racarr__the problem is...ok so my basic approach is there is a new mi::CursorListener implementation14:37
alan_gracarr__: ideas me?14:37
racarr__which takes mi::InputTargets and14:37
racarr__when the cursor moves finds the surface under it and sets the cursor image, et14:38
racarr__c14:38
alan_gCursorListener is an interface or the new implementation?14:38
racarr__CursorListener is an existing interface14:38
racarr__right now it just takes cursor_moved_to from the input stack and calls mg::Cursor::move_to14:38
racarr__so the new CursorController impl takes these cursor_moved to and calls mg::Cursor::move_to but also looks for the appropriate uh14:39
racarr__unoccluded surface to get its cursor image data14:39
racarr__the problem is with mi::InputTargets....14:39
racarr__my idea was to promote scene::add_observer to mi::InputTargets. because this thing also needs to be an observer clearly14:39
=== dandrader is now known as dandrader|afk
racarr__but that doesn't work14:39
racarr__because scene::add_observer passes scene::Surface*14:40
racarr__and in my tests I just want to stub/mock input::Surface/input::InputTargets14:40
alan_gNaturally14:41
racarr__so I can't think of any satisfactory solution...I mean obviously mi:CursorController shouldn't take mc::Scene14:42
alan_gBut why does it want to observe scene? Doesn't it really want to ask InputTargets to supply the right cursor?14:42
racarr__alan_g: Oh hmm14:42
alan_ginput_targets->update_cursor(cursor);14:43
racarr__there also needs to be some observation...maybe it can be internal to the input targets or ith another method though14:43
racarr__but I mean, surface closes, you may need to update the cursor14:44
racarr__So I mean one "fix" would be14:46
racarr__input_targets->update_cursor_image(cursor, point) +14:46
alan_gYes, but CursorListenerImpl is only handling cursor movement events14:46
racarr__input_targets->add_occlusion_change_callback14:46
racarr__std::function<void()>14:46
alan_gActually...14:46
racarr__but that seems like a pain too14:47
racarr__alan_g: Who handles the14:47
racarr__say surface destroyed and need to update the cursor "events" t hough14:47
alan_gWhy is CursorListener telling the cursor what to do? Surely a Listener tells other things that it has changed14:47
racarr__alan_g: Android inputism14:48
racarr__CursorListener should be named14:48
racarr__CursorSink14:48
racarr__or something14:48
racarr__its just how we get the cursor pos out of the input stack14:48
alan_gSo CursorSink isn't the thing that monitors model changes14:51
racarr__hmm14:51
racarr__not necessarily no14:51
racarr__but the thing that implements CursorSink...could conceivably be that.14:52
racarr__because I was trying to keep it to one place that manipulates the cursor image14:52
racarr__because there is some logic, i.e. if no surface is present at point use the cursor specified as default14:52
racarr__if the scene change doesnt change the cursor image avoid reuploading it (significantly reduces noise ina cceptance tests in addition to being an optimization)14:53
racarr__etc...14:53
alan_gSure, but I've a feeling that the "surface isn't there anymore" notification should come via compositing not the scene14:53
racarr__via compositing?14:53
alan_gIsn't it the compositor that maps the scene into the display? And owns the cursor?14:54
racarr__no, the compositor doesnt much to do with the cursor14:55
racarr__as it stands its in the gbm display buffer mostly14:55
racarr__but the goal is the scene owns the cursor14:55
racarr__so it will just be another type of renderable14:55
racarr__because on android there is no special cursor buffer or anything14:55
racarr__and also we want to support software cursors well, etc...14:55
alan_gIf the scene owns the cursor how do you manage spreads and other effects?14:55
racarr__? Even when you spread the cursor is still just14:56
racarr__a 64x64 buffer that appears on top of14:56
racarr__everything14:56
racarr__that is rendered at an x,y coordinate14:56
alan_gThe scene isn't changed when you do a spread14:56
racarr__but the cursor doesnt change when you spread unless14:57
racarr__it would change anyway due to toehr things right?14:57
racarr__Also in "qt compositor short term arch" certainly the scene doesnt change14:57
racarr__when you spread14:57
racarr__but in "qt compositor long term arch"14:57
racarr__it does right, I mean spread is transformation updates, etc...14:57
racarr__ah I see what you are getting at, how would you update the right14:58
racarr__cursor image in case of spread, etc...14:58
racarr__I dunno14:58
racarr__I still feel very strongly that15:00
racarr__updates to the view/what is rendered15:00
racarr__that arent expressed in the model15:00
racarr__will be the architectural death of us if we do it :p15:01
racarr__so all this stuff like spread, zoom, decorations being int he compositor/renderer15:01
racarr__worries me a lot15:01
alan_gThey are projections of the model onto the screen. And the cursor is tied to the screen image and not projected.15:01
alan_ganyway standup time15:02
racarr__I see...maybe15:02
racarr__the problem is it becomes15:02
racarr__"Model Model-View-Controller Controller"15:02
racarr__which is a pretty hair architecture :p15:03
=== dandrader|afk is now known as dandrader
=== alan_g is now known as alan_g|EOD
=== dandrader is now known as dandrader|lunch
=== dandrader|lunch is now known as dandrader
=== josharenson1 is now known as josharenson
=== dandrader is now known as dandrader|afk
=== beidl_ is now known as beidl
=== dandrader|afk is now known as dandrader
RAOFOk. Now that my tea has stopped trying to murder me...23:40

Generated by irclog2html.py 2.7 by Marius Gedminas - find it at mg.pov.lt!