Re: [Development] configure failure on Mac

2013-10-03 Thread Jørgen Lind
On 3 October 2013 11:09, Sorvig Morten morten.sor...@digia.com wrote:
 On Oct 3, 2013, at 3:10 AM, Glen Mabey gma...@swri.org
  wrote:


 I'm on the dev branch but experienced this issue before the 5.2 and 5.3 
 branches split.

 macbookpro:qtbase$ ./configure -prefix ~/src/take2/install

 snip

 Running configuration tests...
 The test for linking against libxcb and support libraries failed!
 You might need to install dependency packages, or pass -qt-xcb.
 See src/plugins/platforms/xcb/README.


 Which seems to me like it's performing X11 checks on the wrong platform.

 I can file a bug if I'm really not missing something obvious …


 Do you happen to have xcb and/or pkgconfig installed via Macports? I can 
 reproduce the build error in that case.

 A quick workaround is to configure with -no-pkg-config. This should 
 arguably be the default when building for OS X:

But if you happen to have pkg-config in your path, why should we then
not use it. The user has one way or the other added it to the path,
so why shouldn't it be used.

I think the interesting question is why configure fails when you have
a version of xcb that is missing some headers. Maybe a warning would
be enough?

Jørgen
___
Development mailing list
Development@qt-project.org
http://lists.qt-project.org/mailman/listinfo/development


[Development] Stepping down as the maintainer of QtWayland

2012-10-24 Thread Jørgen Lind
Hi,

I'm stepping down as the maintainer of QtWayland, as I don't have time
to ensure that QtWayland is in top notch shape.

I would like to propose Andy Nichols as the new maintainer.

Jørgen
___
Development mailing list
Development@qt-project.org
http://lists.qt-project.org/mailman/listinfo/development


Re: [Development] qpa api - current status

2012-05-29 Thread Jørgen Lind
On Tue, May 29, 2012 at 10:52:30AM +0200, Knoll Lars (Nokia-MP/Oslo) wrote:
 On 5/29/12 8:22 AM, ext Jørgen Lind jorgen.l...@nokia.com wrote:
 
 Hi
  6. Rename the handle() to platformXXX() since it's easy to educate
  that anything that has platform in it is out of reach of app
  developers.
  Status: In progress, I am atm, marking handle() as obsolete and as an
  alias to platformXXX().
 
 But since when did the word handle() mean anything else in API design?
 Im all for clear and verbose function names, but think this is just
 making the api ugly. To me if you ask for a handle of a class you will
 get the underlying structure. It then should be crystal clear to the
 developer that this class can not be used as a public class.
 
 The problem is that handle() is very unspecific, and that code ported from
 Qt 4.x to Qt 5 will silently break when people call handle(), as you get
 something else back then you thought you would.
 
 Renaming the methods at least turns the silent breakage into an explicit
 one.

QWidget is not a QWindow subclass. For QFont's handle(), this function
should be considered removed for Qt 5, since its hardcoded to return 0.
QCursor has also a handle function which doesn't look right to me at
first glance.

My point was actually just to justfy why we used the handle() functions
in the first place. Believe it or not, we used to have platformWindow
for QWidget back when there was no QWindow. But it never looked so good
in use.

Jørgen
___
Development mailing list
Development@qt-project.org
http://lists.qt-project.org/mailman/listinfo/development


Re: [Development] Fixing input for eglfs and friends

2012-05-25 Thread Jørgen Lind
 
 I think that's a valid point :-) They are all inside qtbase because of
 convenience. The build system wasn't and still isn't very friendly
 when it comes to creating separate modules.

I honestly dont understand this point. And why does it have to be a
submodule. Cant it just be a git repo with a qmake file, that builds the
target to the same place where it would have been built in source?

 I sort of agree with you and Jorgen. For eglfs, I have to point out
 that the code there doesn't work on most boards out there since mostly
 all boards need specific graphics initialization. So, yes, it's an
 example and one that didn't work for me in most places :-) I also
 added a eglfs/x11 backend sometime back to test in my laptop with
 mesa.
 
 I don't mind creating a separate submodule to carry out the proper qpa
 plugin work. Would you be OK with:
 a. Giving us the eglfs plugin name :-) This is mostly for our
 convenience. We spent quite sometime educating people to use eglfs
 right from the Qt4 days.
 b. I will create a eglexample plugin that is basically eglfs without
 the complexity of hooks, cursors etc. It will load input plugins as it
 does today
 c. After 5.0, I will move eglfs into a separate repo like wayland..
 
 Sounds ok to you guys ?

Ok, as I understand it, there will never be a Qt on pi plugin, nor a Qt
on snowball etc etc plugin. You guys just want one plugin. And you want
eglfs.

Yeah, maybe we should just add minimal_egl or smoething, and keep evolving
eglfs in the direction you guys see fit?

Jørgen
___
Development mailing list
Development@qt-project.org
http://lists.qt-project.org/mailman/listinfo/development


Re: [Development] Fixing input for eglfs and friends

2012-05-24 Thread Jørgen Lind
Hi
 The initial issue with our current input handling for platforms like eglfs, 
 which do not handle input on its own, is, that we have input plugins for 
 mouse/keyboard/touch (evdev), which are seperate from each other.
 So one needs to specify -plugin evdevkeyboard on the commandline in order 
 to 
 get keyboard input. The evdev* plugins are trying to use udev to detect all 
 available devices and also handle the remove and add events for such input 
 devices.
 To get rid of the -plugin argument we would like to create the 
 keyboard/mouse/touch plugins always from eglfs directly. This works fine when 
 udev is present, but fails badly without udev, as all plugins currently 
 default to event0, if you dont specify the device explicitly again on the 
 commandline.
 A fix would be to add a fallback device discovery, which picks up all 
 available 
 devices without udev and creates the specific keyboard/mouse handler.
 But this raised the problem of the lack of detecting if its a keyboard or 
 mouse or whatever from the evdev side, as evdev does not have such a 
 destinction. It just handles input events and does not care if its a key or 
 mouse event. Thus udev has some tricks to probe different attributes through 
 evdev to get the device type, which I dont really want to pull into our code.
 
 For those reasons, I will go ahead and merge evdevkeyboard and evdevmouse as 
 a 
 start. The merge potentially also adds the ability to properly send key and 
 mouse events from devices, that have both event types (like a scroll wheel on 
 the keyboard)
  I cannot merge evdevtouch for now, since I dont have a proper touchdevice to 
 test with.
I think evdev is excelent, but eglfs isn't linux specific. When we made
eglfs it was intended as a platform which also could be copied and
altered to fix special embedded deviceses needs. Moving all this logic
into the plugins just so that we wont need to add -plugin at the command
line seems the wrong direction to take.

I think we should focus on keeping eglfs as small as possible, but
keeping the readability of the code, so that the entry level for extending
eglfs will be low.

Also what about the embedded devices that uses some other input api than
evdev. Do we include code for them in eglfs?

To solve the no -plugin problem, can't we do something like we do for
the platform plugins, ie. have a define which can contain a list of
plugins which should be loaded as default. Theres some interesting
semantics to this, but that can be left to the guy that implements
this to solve:)

Jørgen
___
Development mailing list
Development@qt-project.org
http://lists.qt-project.org/mailman/listinfo/development


Re: [Development] Breaking up QtPlatformSupport

2012-03-13 Thread Jørgen Lind
  We can talk about making it into a nicer API in a future version of Qt, but
  for Qt 5, we should keep it as it is.
 
 Understood. I'm not against out-of-qtbase plugins. I am against forcing them 
 to use private and changing API like QtPlatformSupport.

Ah, now I see. This is where the missmatch is. QPA is by definition
private apis that might change. It will stay like that for Qt 5. Maybe
for Qt 6 we'r so confident that we might lock it down.

Normally I define it like so:
There is absolutely no abi, what so ever. You cant expect to take a
plugin built with one sha, to be built with another sha... So 5.0
plugins will not work with 5.0.1 plugins.

There is also no API guarantee. That means we won't break api just
because we like to, but it also means it CAN change.

Jørgen
___
Development mailing list
Development@qt-project.org
http://lists.qt-project.org/mailman/listinfo/development


Re: [Development] Breaking up QtPlatformSupport

2012-03-12 Thread Jørgen Lind
 This will be hard to do with qmake, so the easier way out is to remove the .a 
 altogether and use .pri files only. That requires moving the Wayland platform 
 plugin back into qtbase.
 
Pretty please with sugar on top, do NOT do this. I understand that you
only see the Wayland side of things, But there are loads of people
interested in not having their plugin in the Qt source code. Using the
pri approach is STUPID! The hacks you will force upon people is just
not nice! We have been there, and we don't want to go back. Lets just
keep/add again the -l flags, and let configure figure out if their going
to be included or not.

Building platform plugins outside the Qt source tree IS a usecase we'r
going to support. Not only because of QtWayland but because there might
be someone developing ie. an ios plugin that they don't want to have inside
QtBase. People might have special HW that where they just write a plugin
to do special ioctl to controll the display. We don't want all plugins to
be in QtBase but more importantly we can expect all plugins to be in
QtBase.

Jørgen
___
Development mailing list
Development@qt-project.org
http://lists.qt-project.org/mailman/listinfo/development