issue-#33 adding platform detection for wine, Windows 7, 8

Merged to the master branch
User avatar
Josef Templ
Posts: 2047
Joined: Tue Sep 17, 2013 6:50 am

issue-#33 adding platform detection for wine, Windows 7, 8

Post by Josef Templ »

A separate issue and topic branch for detection of wine and Windows 7, 8 has been added.
The changes are as proposed in CPC 1.7 rc5 items 41 and 42.

I addition, I fixed a bug in HostDialg.IsWine: the flag hook.isWine has not been set anywhere.
It needs to be set to TRUE in case of returning TRUE in order to avoid repeating the
Wine detection steps in later calls.
I also removed "OR Dialog.IsWine()" in DevRBrowser because it is implied by Dialog.IsWindows().
Helmut, could you please check the bug fixes?

I also added the changes to the Dialog docu file.

Pease see the diffs at http://redmine.blackboxframework.org/pr ... 2b772f9d85.

- Josef
Ivan Denisov
Posts: 1700
Joined: Tue Sep 17, 2013 12:21 am
Location: Russia

Re: issue-#33 adding platform detection for wine, Windows 7,

Post by Ivan Denisov »

The windows 10 is coming soon, so there will be more than 10 versions of Windows. I am suggesting to prevent this event and change constants to 100-199 - windows, 200-299 - mac, 300-399 - linux.
Bernhard
Posts: 68
Joined: Tue Sep 17, 2013 6:56 am
Location: Munich, Germany

Re: issue-#33 adding platform detection for wine, Windows 7,

Post by Bernhard »

just a side note: According to Wine developer FAQ 5.5 (see: http://wiki.winehq.org/DeveloperFaq#hea ... 05ac02f350) it is a bad idea to program around a bug in Wine.

But I do not find any such usage in the proposed diffs, so it is apparently ok and it is definitely the recommended way to detect if an application is running under Wine.

--
Bernhard
User avatar
Josef Templ
Posts: 2047
Joined: Tue Sep 17, 2013 6:50 am

Re: issue-#33 adding platform detection for wine, Windows 7,

Post by Josef Templ »

Ivan Denisov wrote:The windows 10 is coming soon, so there will be more than 10 versions of Windows. I am suggesting to prevent this event and change constants to 100-199 - windows, 200-299 - mac, 300-399 - linux.
Until now the standard way of detecting a Windows platform was "Dialog.platform DIV 10 = 1".
That's why the Windows platform numbers are kept between 10 and 19.
The same pattern applies to MacOS (platform DIV 10 = 2).

For Windows 10 we could (re)use the unused number 11.

Not very nice, I know, but a compromise for portability of code that may
exist outside the BlackBox distribution.

Needs to be discussed by the center.

- Josef
User avatar
Josef Templ
Posts: 2047
Joined: Tue Sep 17, 2013 6:50 am

Re: issue-#33 adding platform detection for wine, Windows 7,

Post by Josef Templ »

bernhard wrote:just a side note: According to Wine developer FAQ 5.5 (see: http://wiki.winehq.org/DeveloperFaq#hea ... 05ac02f350) it is a bad idea to program around a bug in Wine.

But I do not find any such usage in the proposed diffs, so it is apparently ok and it is definitely the recommended way to detect if an application is running under Wine.

--
Bernhard
Unfortunately, there is no choice. Since Wine does not have the same symbol fonts as Windows has,
we must make a distinction in some situations. We are not in a position to fix this 'bug' in Wine.
You will see a usage of IsWine() in issue-#32, for example, at least unless somebody finds another
way to get the arrow symbols for folds on all platforms.

- Josef
Ivan Denisov
Posts: 1700
Joined: Tue Sep 17, 2013 12:21 am
Location: Russia

Re: issue-#33 adding platform detection for wine, Windows 7,

Post by Ivan Denisov »

Josef Templ wrote:at least unless somebody finds another way to get the arrow symbols for folds on all platforms.
We can avoid this by drawing arrows as view like it is done in DevSelectors module. I think this is good way. What do everybody think?
I am also do not like that we use some QuasiHost features inside portable modules...
User avatar
Josef Templ
Posts: 2047
Joined: Tue Sep 17, 2013 6:50 am

Re: issue-#33 adding platform detection for wine, Windows 7,

Post by Josef Templ »

What is DevSelectors?
I have never used it.
Ivan Denisov
Posts: 1700
Joined: Tue Sep 17, 2013 12:21 am
Location: Russia

Re: issue-#33 adding platform detection for wine, Windows 7,

Post by Ivan Denisov »

Josef Templ wrote:What is DevSelectors?
I have never used it.
Useful feature for testing and cross-platform development. Used rare at final stages.
In our case it is an example of text in-line controls which are drawn without fonts.

http://oberoncore.ru/wiki/blackbox/devselectors
selectors.png
selectors.png (20.36 KiB) Viewed 12244 times
This example encoded:

Code: Select all

StdCoder.Decode ..,, ..vc....3Qw7uP5PRPPNR9Rbf9b8R79FTvMf1GomCrlAy2xhX,Cb2x
 hXhC6FU1xhiZiVBhihgmRiioedhgrZcZRiXFfaqmSrtuGfa4700zdGrr8rmCLLCJuyKtYcZRiX
 7.2.s,6kH.0k,5TWyql.bnayKmKKqGomC5XzET1.PuP.MHT9N9ntumaU2,CJuyKtQC98P9PP7O
 NbXmb.2.oV7k2E1a.,6.,U08J99SdfJHPNjvQCJuGKfaqmY6MwdONl1QCh0708T,U..w.2q6U.
 sUGpmWbBxhYhAbndMHT9NY6Mw.sQq2Y6cwB.0.ph,w,Iq4E.2.Ie3U00.bnUGLu8ro8quGrmCL
 WKqtE0E.kNE.0.p.0.4.0EJ2XkD.6.VQ.k8U.UIKo,s4Rd.8ssHomOrdKKqKqlGrrQiiQeZZBE
 WKqtC45.0.51LE.A76.4.CMtj.0E.s2E.s0E.U,UzTkmT,6..k3U..1.0E1U.UI0Etv.2.C1i.
 a,0E.I.2k,.,U.4.,.s.6.,.d2.E.0.b,L.n.0U0U.C.6.2k.6..5.,6.6Z..0E.sAs0M4E.Q.
 2k,.,U.4.,.MBE.E8,.6.QAQ,A76.4.C66.,UH.,U9.,.4.yz,,0..Q,6.k.U..0.G7..,UnU9
 UNU.2.3.,Q.E.6U,E..K,2.YG..,6.Q4Q,A16.8.0s.U.E.1U..Q02U.UI0.6.,UnU9UN.,k,E
 .5.2.0M.2.UEU..bOY3kBuG,MwsETPPPPMR9N9fQbf9b8RO3U.Ay2hgq,.RdJ.0EtV.2.000.O
 E.E.g0g,2U.UH,Etz.2.000.O.2.f.N,,.aOY4UPo3AS..RtIgciZgKBhZ,0ks,.oZ3phYp8.,
 cwU.ECE.E,U.c.E.kd.cwU.EEE.E1U.M3.0.AJ.A02U.ECE.E,U.c9E.E8,E5U.klk3kYU.M.s
 UU.2.C,2.i.2.M.sz526..k3U..1.0.6.6Z..2.C1i.a,0E.I.2k,.,U.4.,.M00.,.d2.E.0.
 b,L.n.0U0U.C.6.2k.6..F.,.G7.U.2.U9.E.Q.2k,.,U.4.,.M,szPuH7OJNOF,tITPP99F9P
 PTvCPM0Fd8,d.dPMZvN99R3sRHfP36PHfP366JN8PM0PM0HOHVuHZ8J,76NuPD99,NH19RFvCP
 M0PM0VeITuE98FfeI9867uPJtCPM03OFDOGRO1HM036R1fQEayqnumdGLtaKrSKI8mfaKrGqrS
 rt8mI8Eayqn.EaaKrKLw8mI8kRqk2KIbGIEGorin4qkWuIWIUHxhhhAc97uPPM136F9fR5WkBh
 ghgmpZ1xhh,d8OHvQ,tITPPUcYiVJibFRSrouqI8k4qE,G2.85.d0..UgBhiBZ0k4KptKKnKLq
 0GnyKt0GqaKlCLEWqm4KmKKtCLRqk4qobGoe.YddJgUQfWIUoBgmV0QgVBhmxhiYggZh0QgV,b
 vP3c6vuCPM13QwdONlnVyKrGLtyKqmqm8rtumdYg1ZimZh2hgnRg.AyI,.ELCoruKu.GomCb.s
 EuaV,.Z1...bf9.EWE.8T0E.E8E.k2E.0..4E,5TeEdKLqKKtCLLC3ZORNX2V.AyI,ktuGdKLq
 6F6.Zz.6.,UfW5UXW.2.5Qw2DUnpZHldGrwmqmGomCb.AS.c9Ajg,0EtT.2.U6UO,,U00.umUG
 5.70,E0E...7,,M.,.,.,tcp00Eyuv.wnjl.k.E.0.3gwP.0..I16.M.EJ.6.VQ.E..YVsH4EK
 ithQVs9E3Qw7uPghZ,5uP..g06..E2E.U76.2n9RC,t75J.nT32kwL,lsHFHEfGA,.R1...
 --- end of encoding ---
Ivan Denisov
Posts: 1700
Joined: Tue Sep 17, 2013 12:21 am
Location: Russia

Re: issue-#33 adding platform detection for wine, Windows 7,

Post by Ivan Denisov »

During this discussion some clear view has come, that we should not add Wine detection, but draw folds without using Font.
Bernhard
Posts: 68
Joined: Tue Sep 17, 2013 6:56 am
Location: Munich, Germany

Re: issue-#33 adding platform detection for wine, Windows 7,

Post by Bernhard »

that we should not add Wine detection
hmm, no, I do not object against Wine detection, but we should carefully think when using it in some "higher" level modules, i.e. outside Kernel, subsystem Host, and so on ...

Also as far as I understand Ivan, the error/bug occurs also in a russian Windows. So it might also occur in asian or other non-latin script Windows. But that is (at least for me) very difficult to check.

A bitmap might be a solution, but how does this scale with font size?
--
Bernhard
Post Reply