/srv/irclogs.ubuntu.com/2015/01/29/#ubuntu-unity.txt

ricotzlarsu, hi, looks like bamf_application_get_desktop_file is returning the desktop-id now instead of "A string representing the path to the desktop file." as documented07:17
ricotzTrevinho, hi, was this really the intention here? ^-- https://bazaar.launchpad.net/~unity-team/bamf/trunk/revision/60607:21
larsuricotz: certainly not. I'll look into it aftre breakfast08:41
larsuthanks for the pointer08:41
tsdgeosCimi: ping08:58
tsdgeosCimi: unping08:59
tsdgeoshmmm09:11
tsdgeosi can't get released qtmir to build09:11
tsdgeoshttp://paste.ubuntu.com/9933243/09:11
tsdgeosany idea why would that happen?¿09:12
tsdgeosSaviq: ↑ ?09:12
tsdgeosdid we release a new unity-api without the corresponding qtmir?09:12
Saviqhuuh09:12
Saviqtsdgeos, what versions of qtmir-{desktop,android} and libunity-api-dev do you have?09:13
tsdgeosah wait, maybe my libunity-api-dev is old09:14
Saviq0.4.4+15.04.20150115-0ubuntu1 and 7.94+15.04.20141205-0ubuntu1 here09:14
tsdgeos7.9509:15
tsdgeoscoming from nowehere09:15
tsdgeosprobably i installed that manually09:15
tsdgeosmeh09:15
tsdgeosi'll reinstall back09:15
tsdgeostx09:17
Saviqtsdgeos, looks like Gerry's initial surface geometry09:18
tsdgeosyep09:18
tsdgeosi had been reviewing that09:19
Saviqyup09:19
tsdgeosforgot about it09:19
tsdgeosuh oh09:56
tsdgeosthe evil arm linker breaks connect by function pointer is back :/09:57
Trevinhoricotz: oh... that seems wrong indeed10:00
larsuTrevinho: really, the API is weird... but it's documented like this, so let's fix it10:04
* larsu looks into it10:04
mzanettiSaviq: hey. we have a strange issue in the shell10:26
mzanettiSaviq: Loaders don't seem to destroy their items when they're released10:27
Saviqjust one?10:27
Saviqotp10:27
Saviqfoo10:27
Saviqooh shiny :D10:27
larsuricotz: how can I reproduce this? bamf's dbus interface still returns the path to the desktop file10:36
* larsu assumes that's the same as the API, but could be wrong10:36
ricotzlarsu, i am connecting to BamfMatcher.view_opened and calling on the given BamfView, if is a BamfApplication, get_desktop_file which returns the application_id for at least nautilus and gedit here11:02
ricotzlarsu, not sure if it is the same since the lib is doing some caching too11:03
ricotzlarsu, happens on the dbus interface too for gedit which gives "org.gnome.gedit"11:05
ricotzlarsu, you realize you are using the desktop_files glist in your commit11:07
ricotzlarsu, test it with nautilus which is the vivid version here too11:08
Saviqmzanetti, can you elaborate?12:23
mzanettiSaviq: http://paste.ubuntu.com/9935405/12:23
mzanettiSaviq: basically, if a gsettings is involved in the expression for a loader source, it won't destroy the old component when creating a new one12:24
mzanettialthough I'm quite sure I've seen this already before we had the usageModeSettings, in the very first iteration of the ShellRoation stuff12:24
mzanettiwhere it loaded first the phonestage, and then the tabletstage and never destroyed the phonestage12:25
mzanettican't repro if I use a button to trigger things for example...12:25
mzanettimaybe GSettings does something odd with the QQmlParserStatus it inherits from... atm I'm still quite lost what's going on12:25
mzanettiSaviq: note that it even breaks if the loader source is only based on an intermediate property12:26
Saviqmzanetti, in the qml you gave me (+ import Ubuntu.Components 1.1) I get correct destruction and creation?12:26
mzanettiyeah, set the timer interval to 012:27
mzanettior enable any other of the lines with the comment // This does NOT destroy the component12:27
Saviqok now I see12:27
mzanettison only if I use an intermediate property, and then a timer with interval >= 1 to set that it starts working12:27
mzanettis/son/so/ :D12:28
=== MacSlow is now known as MacSlow|lunch
Saviqmzanetti, I know we expected it, but does a Loader actually advertise it deleting the old object?12:29
mzanettiyes, I think so... docs say "causes the item to be released"12:29
SaviqI wonder if it's a gc problem12:29
Saviqreleased != deleted12:30
mzanettibehavior is still the same if I export QV4_MM_AGGRESSIVE_GC=112:30
mzanettiSaviq: also, it I use a timer to toggle between PhoneShell and DesktopShell, it destroys things correctly12:31
mzanettiso not an issue of the content of the loaded item12:31
Saviqyeah, calling gc() doesn't help either12:31
Saviqmzanetti, changing active or making asynchronous doesn't do, either12:36
Saviqwonder if using source instead of sourceComp would12:36
mzanettinope12:36
mzanettiwe're using source in Shell.qml12:36
mzanettiI've already changed Desktop/PhoneStage.qml to be simple rectangles12:37
mzanettino difference12:37
Saviqin any case, looks like a Qt bug, even when triggered by our GSettings (would be good to find a way to repro without our stuff)12:37
mzanettiyeah..12:37
mzanettithat's what I tried... failing so far12:37
Saviqtsdgeos, you got 5.4 installed?12:37
SaviqI wonder if it recycles the old object12:39
mzanettiSaviq: looking at memory usage, it doesn't seem so12:39
Saviqno, a new address every time12:39
mzanettiswitching between staged/windowed mode with 1 running app windoe leaks about 3MB each time12:40
* Saviq tries 5.412:40
larsuricotz: indeed. I must have been testing with the wrong branch or so. Fix is at lp:~larsu/bamf/fixup-gtk-application-matching12:46
Saviqmzanetti, Qt 5.4 doesn't help either12:47
Saviq:/12:47
CimiSaviq, might be something weird happening on the scope sides12:48
SaviqCimi, what might?12:48
CimiSaviq, I tried this code http://paste.ubuntu.com/9936347/12:49
CimiSaviq, with pawel branch12:49
Cimiwhat I am doing, when I receive a open signal from the store, I open the new scope and start a timer to close the old one12:50
Cimiwhen the old one is closed, the scope that was opened from the store goes away, scopeItem.scope is null12:50
SaviqCimi, what is "scopeThatOpenedScope"?12:51
SaviqCimi, why not oldScope.closeScope(oldScope)?12:51
CimiSaviq, scopeThatOpenedScope is the app scope12:53
CimiSaviq, when you open the store12:53
SaviqCimi, why do you need it?12:54
CimiSaviq, because this is what we did in dash.qml12:54
CimiSaviq, when the temp scope closes, the scope that opened the temp scope closes the temp scope12:55
SaviqCimi, ok, I see it now12:55
CimiSaviq, oldScope.closeScope(oldScope) seems to work btw12:56
CimiSaviq, but looks weird12:56
Cimiscope closing itself?12:57
Cimicommitting suicide :D12:57
SaviqCimi, yeah, this whole openScope/closeScope thing is misarchitected, really12:57
Saviqevery scope that opens another scope has a set of temp scope objects it opened... meh12:58
SaviqCimi, I think I know why you lose the new scope - it's because its 'parent' is deleted12:59
SaviqCimi, because it's the store scope that opens the new scope, then you close the store scope, and the new scope goes away with it13:00
Saviqpstolowski, ↑13:00
Saviqthis is a mess :/13:00
Saviqit's Scopes that should have open/goto, not Scope13:00
CimiSaviq, yeah it is what I thought13:01
CimiSaviq, parent deleting children13:02
SaviqCimi, yup13:02
Saviqwe'd have to add a stack of temp scopes on top of the dash (which was kind-a the plan at some point)13:02
CimiSaviq, yeah13:03
CimiSaviq, short term fix? oldScope.closeScope(oldScope) ?13:04
Saviqbut I'm not sure we want to dig into this that far while we don't know the overall direction13:04
SaviqCimi, no, that's leaking13:04
SaviqCimi, that's basically NOOP13:04
SaviqCimi, we need to talk with the plugin folks on how to get this working in the short term13:04
Trevinholarsu: about that branch....13:10
Trevinholarsu: you need to free the app_id in any case now13:10
Trevinhobut...13:11
TrevinhoI've another concern, as you're now pulling the first .desktop file in list13:11
Trevinhowhile the logic should be similar to what we do afterwards with desktop_class...13:11
Trevinholarsu: well, actually I guess we could use the same code, but using app_id if class_name is not defined, or using both first come first served13:12
larsuTrevinho: ooh right, thanks.13:14
SaviqCimi, maybe have a look at how our SDK copes with stacks these days (esp. in relation to transitions), maybe it's not going to be that difficult to implement that our sode13:15
Saviqside13:15
larsuTrevinho: not sure what you mean with "using the same code". Is class_name the same thing as app_id?13:15
Saviqbiab13:15
Trevinholarsu: no, but... You still need to parse all the .desktop files in list, filtering-out the ones that have ha defined class name that is different to the window (if it has one)13:15
larsuTrevinho: that can happen?13:17
larsuLet's talk about that tomorrow :)13:17
* larsu fixes the memleak in the meanwhile13:17
Trevinholarsu: yes, as someone could hack its .desktop files... or chromium web-apps does that13:18
Trevinhoso could do wine13:18
larsuTrevinho: I do that for gnome-terminal, and it works just fine13:18
pstolowskiSaviq, oh, that's indeed an issue13:18
larsuTrevinho: got an irssi profile with a launcher item and separate thing in alt-tab etc13:18
pstolowskiSaviq, and moving all that to Scopes seems like the only solutions. I'm not sure about implications of that without actually digging more into it13:19
Trevinhoyeah, I know... I just don't want risk that there will be cases where there are desktop files matching for the same app id but with different classes...13:19
larsurihgt13:21
mzanettiSaviq: you aware of anything else we use that's a QQmlPropertyMap?13:22
=== MacSlow|lunch is now known as MacSlow
tsdgeosSaviq: i do, need something or alrady fount out?13:40
larsumzanetti: gsettings-qt uses qqmlpropertymap (sorry if you already talked abuot that - I didn't find it in the immediate scrollback)13:43
mzanettilarsu: that's the root of the evil :)13:43
mzanettilarsu: nah, just kidding. I have a very weird issue when a GSettings is involved13:44
mzanettibut not sure yet if it's really caused by that13:44
mzanettilarsu: if you're interested: http://paste.ubuntu.com/9935405/13:44
mzanettican't repro the issue by implementing my own QQmlPropertyMap :(13:46
larsumzanetti: qqmlpropertymap has broken gsettings-qt a couple of times now. I wouldn't be surprised...13:49
larsuI'm at a hackfest right now. Will try to have a look later in the train13:51
mzanettilarsu: is there anything threaded going on in QGSettings?14:19
Saviqtsdgeos, yeah, found out already14:21
tsdgeosoki14:21
Saviqdandrader, if you could have a look with your touch input hat on - bug #141590214:22
ubot5bug 1415902 in unity8 (Ubuntu) "Bottom edge can get stuck part way exposed" [Undecided,New] https://launchpad.net/bugs/141590214:22
dandraderSaviq, yeah, that's an interesting case14:46
ricotzlarsu, great14:46
dandraderSaviq, can't say anything without debugging first though14:46
CimiSaviq, shall we plan a meeting with pawel?15:56
SaviqCimi, yeah, please do, not sure I need to be there, I think you guys know what's going on15:57
Saviqbut let me know if you need me15:57
mzanettiSaviq: larsu: tsdgeos: adding "Qt::QueuedConnection" here fixes it: http://bazaar.launchpad.net/~system-settings-touch/gsettings-qt/trunk/view/head:/GSettings/gsettings-qml.cpp#L13815:57
CimiSaviq, ok15:57
mzanetticurrentThread() seems to be the same in both cases though15:57
Cimipstolowski, can we have a chat tomorrow morning on this issue?15:58
Saviqmzanetti, I'd say that's basically what Timer { interval: 1 } did15:58
mzanettiyeah, sort of15:58
mzanettibad thing is, I don't understand why yet15:58
mzanettithe variables seem all be ok. there don't seem any multiple threads involved15:58
Saviqyeah, it'd be nice to know what's going on there15:58
mzanettiI've tried to reproduce it spinning the event loop here and there, but nothing15:59
Saviqmzanetti, it's like the event loop misses a tick to drop the old object because something else is happening15:59
mzanettialso interesting:15:59
Saviqso yeah, I'd be +1 to add this workaround with a linked bug and a FIXME15:59
Saviqand investigate more sometim16:00
Saviqe16:00
mzanettiif I do usageModeSettings.usageMode = "Windowed" from qml, which, afaict, does the same code path, it still works16:00
pstolowskiCimi, sure, please also invite pete-woods16:00
mzanettionly if the trigger really comes from the backend side it's broken16:00
mzanettiSaviq: I'll wait till larsu have a chat about it before applying the workaround. maybe he knows about something that explains it.16:01
mzanettisomething's broken with my english now16:01
pstolowskiCimi, we have standup 8:30~9:00 your time, so any time after that is fine16:01
* mzanetti takes a break16:01
Cimipstolowski, ok16:03
Cimi9:30 my time?16:03
pstolowskiCimi, ok16:04
pete-woodspstolowski: I would say that I know very little about QtGSettings16:05
pstolowskipete-woods, it's not about this16:05
Saviqpete-woods, different topic :)16:05
pete-woodsah!16:06
pstolowskipete-woods, i'll fill you in16:06
josharensonkgunn: so my branch(es) caused your phone to not boot?16:44
josharensonkgunn: oh I'm reading the silo output now16:45
kgunnjosharenson: yeah, just a double check those are the right branches correct?16:46
josharensonkgunn: yeah they are, I just merged the unity8 one w/ trunk... not sure if that would help16:46
josharensonkgunn:  I can send you a deb if you would like16:46
kgunnjosharenson: i'll rebuild and try after lunch16:46
josharensonok16:46
kgunnjosharenson: feel free to host your local debs somewhere too16:48
josharensonkgunn:  ack16:48
=== alan_g is now known as alan_g|EOD
ChrisTownsendI'm working on getting logout/reboot/shutdown to work in Unity 8.  I was thinking that we should probably do the same thing that Unity 7 does when one clicks Logout and Shutdown from indicator-session, at least for now.  Does anyone have an opinion about that?19:00
ChrisTownsendFor example, in Unity 7, if you click "Logout", you get a dialog that asks if you want to Lock or Logout.  For "Shutdown", you get a dialog that asks if you want to Reboot or Shutdown.19:01
ChrisTownsendSaviq: kgunn:  Any opinions? ^^^19:03
ChrisTownsendDoing what I propose will also keep us from having to hack up indicator-session to support Unity 8.19:05
kgunnChrisTownsend: sorry, for the delay19:53
kgunnfor sure, i agree, shutdown should bring up19:54
ChrisTownsendkgunn: No worries.19:54
kgunnthe notification that we have19:54
kgunnon unity819:54
ChrisTownsendkgunn: Right.  What I mean is that in Unity 7, if you click "Shut Down" in the indicator-session menu, you get a dialog that says either "Reboot" or "Shutdown".  Should we make Unity 8 do the same, at least for now?  If not, then we are going to have to hack up indicator-session some to separate out Reboot and Shutdown.19:55
kgunnChrisTownsend: yeah, what i meant was, we have the notification (dialog) that has that...altho, it's only fired on long power keypress19:56
kgunni suppose it needs some wire for the session-indicator menu select event19:56
kgunnas well as long power keypress19:57
ChrisTownsendkgunn: This is for desktop.19:57
kgunnright i'm with you19:57
ChrisTownsendkgunn: Ok, just making sure.19:57
ChrisTownsendkgunn: Right now, Reboot and Shutdown dialogs are separated in Unity 8 unlike Unity 7.19:57
kgunni guess one thing that's different, is we have no "logoff"19:57
ChrisTownsendkgunn: There is a Log Out.19:58
* kgunn needs to play with the latest unity8 desktop :)19:58
kgunnChrisTownsend: are you going to brussels ?19:59
ChrisTownsendkgunn: I have an MP to fix Log Out properly though.19:59
ChrisTownsendkgunn: Yep19:59
kgunngood19:59
ChrisTownsendkgunn: We can discuss more then.  Just throwing this out there to think about.19:59
kgunnChrisTownsend: it's a good point19:59
kgunni suppose on a desktop, you might just want to power down on long power press?20:00
kgunnvs mobile where you get the dialog...20:00
kgunni mean if you hold long enough it just powers off anyway20:00
ChrisTownsendkgunn: Hmm, well, right now I'm only concerned about clicking "Log Out" and "Shut Down" in the indicator-session pull down menu.20:00
kgunnright20:01
kgunnjust thinkin' ahead20:01
ChrisTownsendkgunn: Ah, righ, I see.20:01
ChrisTownsend*right20:01
kgunnjosharenson: ok, finally got around to testing silo 8, it boots...20:57
josharensonkgunn: :-)20:57
kgunnjosharenson: ok...so try this, lock your phone/screen on, hit power button so screen comes back on21:05
josharensonok21:05
kgunnjosharenson: then...hold the power button21:06
kgunnfor enough time that you think21:06
kgunnthe power dialog will come on...just before, hit low volume21:06
kgunndo a couple of times21:06
kgunnat least once see if you can get the dialog to happen21:06
kgunnthis is what i was doing....and i can get the screen to stay on21:06
kgunnpermanently21:07
josharensonkgunn: gotcha... I have an idea21:07
josharensonkgunn: thanks for testing this btw21:07
kgunnjosharenson: i'll see if i can get it to do it not on the lock screen....tried only  a little on dash21:08
kgunnjosharenson: intersting, i can just touch the screen, that's enough to restart the unity8 inactivity timer...and it will turn off the screen21:08
josharensonkgunn: probably being restart in some other code21:09
josharensonrestartred*21:09
* josharenson spells bad21:09
kgunnjosharenson: ok, while phone unlocked, hold power key for maybe longer then normal, but before the pwr dialog appears, hit vol key down, power up, then vol up....21:13
kgunnand it should likely be stuck on21:13
josharensontesting a patch21:18
Saviqguys, you know codes are cheating?21:19
josharensonkgunn: pushed a fix... I took about 10 screenshots and was never able to make the screen stay on...21:40
kgunnjosharenson: so rebuild ?21:52
josharensonyes21:52
josharensonkgunn: USC is small enough to build on the device if thats easier for you21:52
josharensonkgunn: or ill host a deb if I can get it to build21:53
kgunnSaviq: whatchyou talkin' bout willis ?21:54
Saviqkgunn, up, down, down, down, A, B, A, down21:54
josharenson:-p fixes all bugs21:54
kgunnin case they didn't have Different Strokes in Poland https://www.youtube.com/watch?v=Qw9oX-kZ_9k21:55
josharensonkgunn:  https://www.dropbox.com/s/rfseuqe49a5kk8s/unity-system-compositor_0.0.5%2B15.04.20150108.2-0ubuntu1_armhf.deb?dl=022:03
josharensonkgunn: brb doctor's appt, but that _should_ fix the bug22:04
kgunnack22:04
josharensonkgunn: any luck?23:43
kgunnjosharenson: sorry, loaded it...hadn't tried, will right now23:44
kgunnjosharenson: this is looking pretty good....23:56
josharensonkgunn: hooray23:56
kgunnas easy as i could repro....i can't seem to here23:56
josharensonkgunn: the issue seemed pretty clear23:57
kgunni'll hammer a bit more23:57
kgunnbut yeah...looks good23:57
josharensonkgunn: same23:57

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