/srv/irclogs.ubuntu.com/2014/11/11/#ubuntu-unity.txt

=== broder__ is now known as broder_
=== duflu__ is now known as duflu
=== Trevinho__ is now known as Trevinho_
=== TheMuso` is now known as TheMuso
=== alan_g is now known as alan_g|afk
tsdgeosmzanetti: you really are very discouraging on your comment10:40
mzanettitsdgeos: yeah... sorry.. but it really feels too dangerous... you're mixing thread contexts a lot in here10:41
mzanettitsdgeos: if you want we can do a hangout and talk about it10:41
tsdgeosno i don't want10:41
tsdgeosi have better things to do thatn convincing you10:41
tsdgeosyou can propose something that works10:41
tsdgeossince you think the whole approach is crap10:42
tsdgeosand can't be salvaged10:42
mzanettitsdgeos: well, do you see my concerns at least or do you think I'm wrong?10:42
tsdgeosmzanetti: i do see that you don't think the code is fixable10:43
mzanettitsdgeos: yeah... just adding more mutexes I think won't cut it here10:43
tsdgeosyou're wrong10:43
mzanettiok10:43
tsdgeosbut i don't feel free to instruct you10:43
tsdgeoswell you're actaully right10:44
tsdgeosi don't even need any more mutex10:44
mzanettibut I'd like to know where I'm wrong10:44
tsdgeosbut wathever10:44
tsdgeosthen you should have worded your review better10:44
mzanettiand asking you now to explain me where I'm wrong doesn't help any more?10:45
tsdgeosmeh i hate being sick10:46
tsdgeosmzanetti: ok, let's start with the first10:48
tsdgeostell me when why i need a mutex in worker->m_reply10:49
mzanettitsdgeos: ok... that's probably indeed not needed. I thought the abort case is problematic there10:54
mzanettino... it's not... ok10:54
Saviqtsdgeos, eat a snickers!10:55
tsdgeosSaviq: don't have one at hand, going outside the building will just increase my sickness/grumpyness :D10:56
Saviq:)10:56
* Saviq looks for same-day amazon snickers delivery 10:56
mzanettiif you find that, don't tell me where10:57
tsdgeosmzanetti: ok, want me to add a comment why since you got confused by it? Do you have a suggestion on the wording of the comment?10:57
mzanettitsdgeos: no :D feel free to call me anything you want10:57
tsdgeosoh wait you still think the code can't be fixed10:57
mzanettiwell, the main reason was the other comment10:57
tsdgeosso problably no point on adding a comment10:57
tsdgeosok the other comment10:59
tsdgeosmzanetti: you're right that that looks pretty dangerous and i guess it's only working because qtquick is doing some delayed connection of stuff somewhere, but adding a simple QMetaObject::invokeMethod with Qt::QueuedConnection fixes your issue, doesn't it?11:03
mzanettilet me have a look11:03
=== vrruiz_ is now known as rvr
mzanettitsdgeos: right... making setSourceSize invokable and onvoking that queed would probably do it11:08
* mzanetti tries again11:08
mzanettitsdgeos: right... making setSourceSize invokable and invoking that queued would probably do it11:08
mzanettiok, well then, thanks for explaining. Changing my vote to a needs fixing. Can you also please add a comment for the first question?11:11
=== Malsasa_ is now known as Malsasa
mzanettitsdgeos: is the ignoreAbort really needed? I mean, if the future is working already, the reply is already finished and abort won't do anything any more, no?11:14
tsdgeosmzanetti: it clears the data from the reply11:15
mzanettioh, really... didn't know that11:15
tsdgeosme neither11:15
mzanettiok then it is needed indeed11:15
tsdgeosgot lots of interesting crashes/errors because of that11:15
mzanettiI can imagine11:15
Saviqtsdgeos, fun times http://pastebin.ubuntu.com/8938872/ :|11:16
tsdgeosdamn11:16
tsdgeosSaviq: i guess we can't repro, no?11:17
Saviqtsdgeos, actually we can, but it needs to be timed11:17
Saviqtsdgeos, happens with mterry's branch to skip the second PIN unlock screen if emergency dialer is up11:17
tsdgeosi see11:17
tsdgeosif we can kind of repro this i don't think it'd be that hard to fix11:18
Saviqlet's see how often I can get this11:19
facundobatistaHola!11:19
mzanettio/11:19
tsdgeosmzanetti: any suggestion for the comment?11:23
tsdgeosmzanetti: // worker->m_reply is always valid at this point11:24
tsdgeosseems a bit weeak11:24
mzanettitsdgeos: yeah, elaborate a bit more please. something like: m_reply has finished at this point and won't be touched any more11:35
mzanettiSaviq: can we do such changes in control files now or will that still break with ~rtm? https://code.launchpad.net/~seb128/unity8/set-inline-reply-hint/+merge/24076611:39
Saviqmzanetti, it'd have to be "translated" to rtm, the upstream version should have been bumped instead11:40
seb128mzanetti, I should append a ~ to the version11:40
Saviqseb128, well, we need to be able to depend on that change in u-s-c11:40
seb128oh, in fact there is no revision there11:40
seb128so it should be fine11:40
Saviqseb128, but > 20141105 in rtm might not include that change11:40
seb128Saviq, mzanetti, we don't want those changes in rtm anyway11:41
Saviqseb128, not now, but we'll have the same problem for ota11:41
seb128we have a workaround for rtm11:41
seb128Saviq, k, feel free to change it to suit your workflow better11:41
mzanettiok... works for me then... I just wanted to make sure as we broke the train with such things a couple of times already11:41
Saviqseb128, https://code.launchpad.net/~seb128/ubuntu-settings-components/define-text-hint-property/+merge/240706/comments/59365511:42
seb128Saviq, k11:48
tsdgeosmzanetti: actually i'm not sure i can do the invokemethod thing, in my mind invokemethod with a delayed connection should be smart enough to not crash if the receiving object goes away, but i am reading the code and seems it is not :/12:18
tsdgeosreading more12:18
tsdgeosnot a trivial amount of code12:19
mzanettitsdgeos: it is not12:19
mzanettitsdgeos: QPointer helps with that though12:19
* mzanetti digs out some code12:19
tsdgeossure, but i can't qpointerize Qt code ;)12:19
tsdgeosyeah i can add yet another intermediate object12:20
tsdgeosmeh12:20
mzanettitsdgeos: https://gitorious.org/xbmcremote/xbmcremote/source/44687da6c75326be456d5778d728afcbf1a2386e:libxbmcremote/imagecache.cpp#L16712:20
mzanettitsdgeos: you'd just need to hold the target in a QPointer yourself. the data will be smart enough to go to 0 which in turn makes the invoke smart enough12:21
mzanettiinvoke just fails if you have a valid address for an invalid object12:21
tsdgeosqt should add the qpointer in QPostEvent12:21
mzanettiyeah, I guess it should12:21
mzanettinot sure about other ramifications with that though12:21
tsdgeosbut i guess it would be slower12:21
tsdgeoshmmm12:23
tsdgeosi don't see how that works at all12:23
mzanettithe code I linked?12:23
tsdgeosyeah, i mean .data() returns a qobject no?12:23
mzanettior 0 if it went away12:24
tsdgeossure12:24
mzanettiyeah, invokeMethod(0) doesn't do anything12:24
tsdgeosbut the problem is if it goes away *after* i call invokeMetho12:24
tsdgeosnot before12:24
mzanettiuh oh12:24
tsdgeosbefore i know it's there12:24
* mzanetti thinks about it12:24
tsdgeosi have a mutex for that :D12:24
mzanettiA programmer had a problem. He thought to himself, "I know, I'll solve it with threads!". has Now problems. two he12:26
greybackI've always worked under the assumption that invoke doesn't watch the lifetime of the object you pass it12:26
mzanettigreyback: it doesn't12:28
greybackwell I've been right all this time so :)12:29
mzanettigreyback: the problem we're facing now is that even though we watch it ourselves, there might be the possibility of it going away in between we call invoke() and it actually happening12:29
mzanettitsdgeos: well, signal/slot connection otherwise, that should be clever enough to disconnect it/ check it when it actually happens12:30
greybackmzanetti: yep. signal/slot ideal then12:31
tsdgeosmzanetti: on the other hand http://paste.ubuntu.com/8940082/ works just fine12:35
tsdgeosand valgrind does not complain at all12:35
tsdgeosso it seems indeed somewhere is seeing that has to remove the post12:35
mzanettidoes invokeMethod use postEvent in the end?12:36
tsdgeosyep12:36
tsdgeosif it's a queued one12:36
mzanettihmm. ok. then I guess we're good. also I didn't have any troubles with that xbmcremote code I posted above. and it's been in use for quite a while now12:37
tsdgeos        QCoreApplication::postEvent(object, new QMetaCallEvent(idx_offset, idx_relative, callFunction,12:37
tsdgeos                                                        0, -1, nargs, types, args));12:37
mzanettitsdgeos: you still need the QPointer before the invokation though as it will break passing an invalid address12:37
tsdgeosnow i want to read the code again to see where it's removing it from the even list12:37
tsdgeosmzanetti: no i don't12:37
mzanettior well, some other means of making sure it's there12:38
tsdgeosit's guaranteed the pointer is valid at that point12:38
mzanettiok12:38
tsdgeosah right qobject destructor does12:40
tsdgeos    if (postedEvents)12:40
tsdgeos        QCoreApplication::removePostedEvents(q_ptr, 0);12:40
tsdgeosso yeah we're good12:40
mzanettiaha! cool12:41
tsdgeosso basically you need to guarantee the object is valid until the end of the invokeMethod Queued call12:43
tsdgeosafter that you're fine filling it12:43
tsdgeoskilling it12:43
mzanettiyep12:44
=== MacSlow is now known as MacSlow|lunch
Saviqcwayne, hey, can you assign bug #1389192 somewhere?13:16
ubot5bug 1389192 in unity8 (Ubuntu) ""Fitbit" text in Dashboard has poor grammar, capitalization, punctuation, and call to action" [Undecided,New] https://launchpad.net/bugs/138919213:16
Saviqand bug #138919513:16
ubot5bug 1389195 in unity8 (Ubuntu) ""Fitbit" section in Dashboard goes to a near-empty screen when tapped" [Undecided,New] https://launchpad.net/bugs/138919513:16
mzanettidednick: hey, is this still needed? https://code.launchpad.net/~nick-dedekind/unity8/axis.calculator.first.position/+merge/17426213:22
=== alan_g|afk is now known as alan_g|lunch
cwayneSaviq: ugh, i marked invalid, will do so again and move to hanloon13:30
ragnarockHi guys ,I am facing some screen issues in my asus x550l 14.10.can I contact  to someone for support and fixing this thing13:31
Saviqcwayne, yeah, I know you did, but Matthew just re-confirmed it again, don't we have a public project that we could assign to?13:32
cwayneSaviq: no because it's a private scope13:33
Saviq:/13:33
cwayneSaviq: i just logged the same bug in hanloon and marked this one invalid13:33
Saviqcwayne, sounds like it's gonna ping-pong back to you13:33
Saviqor well, me13:33
cwayneSaviq: i commented with the new bug url13:34
Saviqok thanks13:34
cwaynesorry, just get mad that i talked to him on irc and told him this was a private scope that shouldn't have public bugs, bit frustrating when people don't listen13:34
Saviqmzanetti, I noticed recently that BFB does not reset the dash to apps properly any more if you have a temp scope open (e.g. store)14:06
Saviqworks if you're in/over Manage Scopes, but not otherwise14:07
Saviqmzanetti, I also had a feature proposal for Tagger - would be nice to have a history of recognized codes, otherwise I had to take photos and then try and recognize them after (which didn't always work depending on how the photo came out)14:09
* Saviq goes back to filing bugs14:15
=== alan_g|lunch is now known as alan_g
dednickmzanetti: hm. nope, that's kinda old14:22
mzanettiSaviq: ok, yeah, please file some bugs, will implement it when I touch tagger the next time14:26
mzanettiSaviq: can we drop this? https://code.launchpad.net/~saviq/unity8/fox-clock-formatting/+merge/19884314:35
mzanettiits from 2013 too14:35
=== MacSlow|lunch is now known as MacSlow
Saviqmzanetti, done14:36
Saviqmzanetti, I got stuck on lockscreen, no crash, did you get anywhere with investigating that?14:37
mzanettilet me find the bug14:37
* Saviq is installing dbg symbols right now, but there's a suspect "recvmsg" in the top thread14:37
mzanettihmm, interesting14:38
mzanettiSaviq: so I personally only ever saw this when being away from a computer14:39
tsdgeosdamn, it's a pain that vivid and rtm are not compatible14:59
* tsdgeos flashes mako with vivid14:59
tsdgeosdevel-proposed is now vivid, right15:06
tsdgeos?15:06
Saviqtsdgeos, yes15:07
=== cwayne is now known as cwayne-afk
=== dandrader is now known as dandrader|lunch
=== dandrader|lunch is now known as dandrader
=== om26er_ is now known as om26er
mhall119Trevinho_: ping18:08
=== dandrader is now known as dandrader|afk
mhall119Trevinho_: bregma: we still don't have any session on Unity 7 for UOS19:35
mhall119I think, given the more user/consumer focus of UOS, that we really should have a session on how to use (and get the most out of) the current default desktop19:35
mhall119kgunn: we also have no session on Mir, which I think we really need both to talk about what currently works (screenshots now in Unity 8, which is awesome) as well as what's planned for the future (especially concerning desktop feature support)19:40
kgunnmhall119: i lost connection for a bit....so what's the also19:45
mhall119kgunn: we also have no session on Mir, which I think we really need both to talk about what currently works (screenshots now in Unity 8, which is awesome) as well as what's planned for the future (especially concerning desktop feature support)19:45
mhall119kgunn: before the "also" was be asking Trevinho_ and bregma for Unity 7 sessions19:46
mhall119kgunn: there's a lot of confusion and open questions about what desktop features Mir will support, UOS is a great opportunity to clear tha tup19:48
kgunnmhall119: i proposed this20:24
kgunnhttp://summit.ubuntu.com/uos-1411/kgunn72/meetings20:24
kgunnif i could thurs late morning that'd be great20:24
mhall119kgunn: thanks, I've added it to the Ubuntu Development track20:34
mhall119will ping those track leads to review it20:34
kgunnmhall119: i figure i'll show up with a semi-scrubbed roadmap and just talk thru with some time for Q&A20:35
=== dandrader|afk is now known as dandrader
mhall119kgunn: sounds like a plan, thanks20:38
=== qengho is now known as CardinalFang
=== CardinalFang is now known as qengho

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