![]() |
2012-06-11
, 22:01
|
Posts: 805 |
Thanked: 1,605 times |
Joined on Feb 2010
@ Gdynia, Poland
|
#12
|
OK, I'll be patient
Just to make sure I'm writing clear: I'm blacklisting the right window name but it still rotates!
The Following User Says Thank You to misiak For This Useful Post: | ||
![]() |
2012-06-14
, 01:02
|
Posts: 805 |
Thanked: 1,605 times |
Joined on Feb 2010
@ Gdynia, Poland
|
#13
|
deb http://repository.maemo.org/community/ fremantle free non-free deb-src http://repository.maemo.org/community/ fremantle free
apt-get update apt-get build-dep hildon-desktop apt-get source hildon-desktop
./autogen.sh fakeroot dpkg-buildpackage
dpkg -i /path/to/hildon-desktop-package.deb
meecolay /opt/meecolay/ceneo/opt/ceneo/bin/ceneo
[hd_comp_mgr_is_blacklisted][hint] blacklist=mediaplayer osso-xterm ceneo worldclock image-viewer camera-ui Calendar
[hd_comp_mgr_is_blacklisted][result] wname=ceneo blacklisted=1
[hd_comp_mgr_is_blacklisted][result] wname=ceneo blacklisted=0
[hd_comp_mgr_is_blacklisted][1st check - file is on blacklist] wname=ceneo g_strrstr(blacklist, wname) && !(c->portait_supported || c->portait_requested)=1
![]() |
2012-06-14
, 07:35
|
Posts: 3,328 |
Thanked: 4,476 times |
Joined on May 2011
@ Poland
|
#14
|
Ok, I've modified hildon-desktop run some tests, the results were... strange. Hildon-home may be buggy.
First thing, while I still remember it and before I start describing my results: http://linuxtesting.org/compatibilit...at_report.html - can this list be usefull to you? (maybe you've seen it before?) It should help in completing missing libraries
So, back to the point: the hildon-desktop blackist check is quite inconsistent... My exact testing procedure (I'm writing it so any other interested programmer can do the same and check if results are reproducable):
1. Got my new N900
2. Installed updates to PR1.3.1
3. Installed CSSU stable, version: 21.2011.38-1Smaemo3, flavour: stable
4. On my ubuntu pc, in scratchbox, added deb and deb-src lines with stable community repo:then:Code:deb http://repository.maemo.org/community/ fremantle free non-free deb-src http://repository.maemo.org/community/ fremantle freethen I applied changes to file src/mb/hd-comp-mgr.c - added logging to functions hd_com_mgr_is_whitelisted and hd_comp_mgr_is_blacklisted, the diff of source code can be found here: http://dev.miskiewicz.org/maemo/hild...42-19.diff.txtCode:apt-get update apt-get build-dep hildon-desktop apt-get source hildon-desktop
Then I typedand copied resulting deb to device. The deb compiled by me can be downloaded from http://dev.miskiewicz.org/maemo/hild...2-19_armel.deb (it has the same version as CSSU stable repo version).Code:./autogen.sh fakeroot dpkg-buildpackage
5. On device, I installed it with6. Installed "CSSU Features Configuration", only to change value in "Rotation" sectio: "Applications": "Auto(default)" and "Forced". Installed (via fapt-get) meecolay-core and libqtm-12. Downloaded 3 tar.bz2 files from http://marmistrz.net63.net/meecolay/data/ and extracted them to /opt/meecolay. note some users were having problems with extracting because it doesn't work with stock tar, it needs busybox-power's tar to untar them directly (without bunzip2ing them first), so your script to download them automagically is only for busybox-power.Code:dpkg -i /path/to/hildon-desktop-package.deb
7. After each change via CSSU Features Configuration, a reboot was made.
8. I opened xterm and runned(that's where I extracted ceneo deb downloaded via my-meego.com using dpkg -x). Then I copied /tmp/hildon-blacklist-log.txt to MyDocs, uploaded to my server and analized.Code:meecolay /opt/meecolay/ceneo/opt/ceneo/bin/ceneo
Results:
1. "Rotation", "Applications" : "Auto (default)"
The log file was never created, the Ceneo app was rotating, it was displayed wrong when in portrait. Is it ok that hd_comp_mgr_is_blacklisted function is never called with this config? My transitions.ini for this setup is here: http://dev.miskiewicz.org/maemo/transitions.ini.auto
2. "Rotation", "Applications" : "Forced"
Funny thing here. transitions.ini is here: http://dev.miskiewicz.org/maemo/transitions.ini.forced . The log is here: http://dev.miskiewicz.org/maemo/hild...cklist-log.txt
The app was still rotating to portrait and displaying improperly, but the "funny" (buggy?) part is this: although log clearly statesnote that ceneo IS there, some lines say:Code:[hd_comp_mgr_is_blacklisted][hint] blacklist=mediaplayer osso-xterm ceneo worldclock image-viewer camera-ui Calendar
while some lines sayCode:[hd_comp_mgr_is_blacklisted][result] wname=ceneo blacklisted=1
What the hell? May that be a bug in hildon-desktop? It is clearly checkCode:[hd_comp_mgr_is_blacklisted][result] wname=ceneo blacklisted=0that fails. Why exactly is the part "!(c->portait_supported || c->portait_requested)" in there and why can it fail sometimes? (it's rather obvious that g_strrstr("... ceneo ... ", "ceneo") is always true... unless there may be some strage conditions when blacklist variable has different value in this line and different value few lines later when it is written to log?) I would like to hear some feedback from someone who knows hildon-desktop better than meCode:[hd_comp_mgr_is_blacklisted][1st check - file is on blacklist] wname=ceneo g_strrstr(blacklist, wname) && !(c->portait_supported || c->portait_requested)=1Can it be related to calling the function from different contexts? (e.g. once when app is fullscreen and once when app is in app dashboard? It shouldn't make a difference... just wild guess)
[b]My thoughts totally unrelated to hildon-desktop[/code]
About the faulty rotation in portait - may that be caused by double rotation? I mean:
1st rotation is hildon-desktop rotation made by window manager
2nd rotation is Qt/QML's internal rotation? How is rotation i Harmattan's apps implemented? Maybe when the app gets the singnal that device is in portret mode, it changes layout to portrait (inside this app)? So when we rotate a window and it rotates view inside - that would explain why app is rotated by 90 degrees and view is cropped when device is in portrait mode - what do you think marmistrz? (and others, too)
Please discuss
The Following User Says Thank You to marmistrz For This Useful Post: | ||
![]() |
2012-06-14
, 08:19
|
Posts: 805 |
Thanked: 1,605 times |
Joined on Feb 2010
@ Gdynia, Poland
|
#15
|
Thanks for testing.
It's true that qml apps rotate themselves. The rotation mechanism seems to be officious and rotates them too. The double rotation is a problem with all the qml apps. (I tried it with wolframalpha). The main difference is that butaca or wolframalpha which use org.maemo.fremantle namespace are properly blacklisted and hildon-desktop has no problem. Apps using com.nokia.meego have good window name but there's some bug which makes all the blacklisting in vain. I think it's a hildon-desktop bug but this may be a problem with qt components -10. It should be reported.
About g_something: I need to learn a bit more abt glib.
About script I'll look at it later
![]() |
2012-06-14
, 13:32
|
Posts: 3,328 |
Thanked: 4,476 times |
Joined on May 2011
@ Poland
|
#16
|
No problem. I stopped my tests after one app, because they all behave same way when rotating and this one's log is descriptive enough - sometimes blacklist chceck succeds for meecolay apps (or maybe generally for qml apps) and sometimes it fails, probably due to "!(c->portait_supported || c->portait_requested)" check returning false (so either c->portrait_suppored or c->portrait_requested is true, or both are).
Did you see the list of libraries which are different between Maemo 5 and MeeGo Harmattan (my very first link)? Is it useful?
!(c->portait_supported || c->portait_requested)=1
![]() |
2012-06-14
, 15:34
|
Posts: 805 |
Thanked: 1,605 times |
Joined on Feb 2010
@ Gdynia, Poland
|
#17
|
Strange thing in the check
is the =1 part, so anyway this should be true (as assigned to 1)Code:!(c->portait_supported || c->portait_requested)=1
(g_strrstr(blacklist, wname) && !(c->portait_supported || c->portait_requested))==1
About site: this may be a clue about the missing libs, but I think the libs should be added when some app needs it. It may be that a possibly incompatible library works.
=========
I'm quoting one of my other posts, from other thread, about MeeCoLay development
http://talk.maemo.org/showpost.php?p...5&postcount=39
Do you have any idea about this?
The Following User Says Thank You to misiak For This Useful Post: | ||
![]() |
2012-06-14
, 15:55
|
Posts: 3,328 |
Thanked: 4,476 times |
Joined on May 2011
@ Poland
|
#18
|
The output formatting could be better, this output says thatbut apparently the second part of this check sometimes is true, sometimes is false, which makes whole result of blacklist check to be sometimes true and sometimes false... either c->portrait_supported or c->portrait_requested gets changed during program runtime, I will debug further to check how this happens.Code:(g_strrstr(blacklist, wname) && !(c->portait_supported || c->portait_requested))==1
Is it libaegis-crypto or libaegis-crypto1? In Meego, you have both libcrypto (version 0.9.8) and libcrypto1 (I guess it may be the same library but it has version 1.0.0), see the site which compares Fremantle to Harmattan I linked earlier. If libaegis-crypto1 is linked against libcrypto1 (judging by the name I suppose it can be), you should first backport libcrypto1 and link it against it, not against Fremantle's libcrypto (0.9.8) - did you do that? (or is it not linked against libcrypto at all?)
Edit 1: And, again about that site - it is created by a company which makes quite detailed comparisons. You can see that even when there is "compatible" result for a library, they sometimes put notes in further columns (when e.g. Harmattan version exports more functions, has warnings, etc.), so I think we may trust them when they say "compatible" or "incompatible".
Edit 2: They even compared libc ! you can see there are 8 problems and 25 warnings in columns "Backward binary compatibility problems"! If we fix them, stock calendar app should work with newer libc
The Following User Says Thank You to marmistrz For This Useful Post: | ||
![]() |
2012-06-14
, 16:09
|
Posts: 805 |
Thanked: 1,605 times |
Joined on Feb 2010
@ Gdynia, Poland
|
#19
|
So... It's true only when:
- app is blacklisted
- it doesn't support portrait and doesn't requreset portrait!!
I wonder how it works at all!
it's libaegis-crypto1
I just fetched the newest source from gitorious (newer than in the sdk)... And it compiles!!! I'll check it soon.
It may be very useful. Thanks for the page! I underestimated the page at first, to be honest.
This should be posted in the GCC 4.6 for fremantle thread. I'll do it.
Thanks for your help again. I'll upload the libaegis-crypto1 to extras-devel soon. Edit: if it works
The Following User Says Thank You to misiak For This Useful Post: | ||
![]() |
2012-06-14
, 17:18
|
Posts: 3,328 |
Thanked: 4,476 times |
Joined on May 2011
@ Poland
|
#20
|
Newer sources of libaegis-crypto1 or libcrypto1?
Ok, I posted it in gcc 4.6 thread by myselfI hope it will work... And we will be able to replace libc with newer version with some next CSSU update
Just to make sure I'm writing clear: I'm blacklisting the right window name but it still rotates!
If you want to support my work, you can donate by PayPal or Flattr
Projects no longer actively developed: here