Make Qt port support No X11 build

RESOLVED FIXED in mozilla9

Status

Core Graveyard
Widget: Qt
RESOLVED FIXED
6 years ago
10 months ago

People

(Reporter: romaxa, Assigned: romaxa)

Tracking

Trunk
mozilla9
x86
Linux
Dependency tree / graph

Firefox Tracking Flags

(Not tracked)

Details

Attachments

(3 attachments, 4 obsolete attachments)

(Assignee)

Description

6 years ago
I think it would be nice to have Qt port compiling on NON-X11 platform like WebOS or something similar
(Assignee)

Comment 1

6 years ago
Created attachment 551910 [details] [diff] [review]
Compile Qt port on Non-X platform
Assignee: nobody → romaxa
Status: NEW → ASSIGNED
Attachment #551910 - Flags: review?(doug.turner)
(Assignee)

Comment 2

6 years ago
Comment on attachment 551910 [details] [diff] [review]
Compile Qt port on Non-X platform

Wolfgang, not sure if dougt have time... could you also check this patch?
Attachment #551910 - Flags: review?(mozilla)
(Assignee)

Comment 3

6 years ago
Created attachment 553016 [details] [diff] [review]
Compile Qt port for Non-X platform

Removed duplicated define from nsObjectFrame, removed QtDbus (not in use)
Attachment #551910 - Attachment is obsolete: true
Attachment #551910 - Flags: review?(mozilla)
Attachment #551910 - Flags: review?(doug.turner)
Attachment #553016 - Flags: review?(doug.turner)
(Assignee)

Comment 4

6 years ago
Created attachment 553038 [details] [diff] [review]
Fix Qt egl provider to work on nonX11 platform
Attachment #553038 - Flags: review?(joe)
(Assignee)

Comment 5

6 years ago
Try build looks ok, with these patches:
http://tbpl.mozilla.org/?tree=Try&rev=2ba318c7a882

Comment 6

6 years ago
Comment on attachment 553016 [details] [diff] [review]
Compile Qt port for Non-X platform


>+#elif defined(ANDROID) || defined(MOZ_WIDGET_QT)
> #  include "mozilla/plugins/NPEventAndroid.h"

really?
(Assignee)

Comment 7

6 years ago
yep, definitely not NPEventX11.h...
Android is actually same as NPEventX11.h but does not include X stuff...
Another option is to rename NPEventX11.h -> NPEventUnix.h and add MOZ_X11 ifdefs inside...

Comment 8

6 years ago
i think renaming might be better.  cc/ jst do you care one way or the other?
Comment on attachment 553038 [details] [diff] [review]
Fix Qt egl provider to work on nonX11 platform

Review of attachment 553038 [details] [diff] [review]:
-----------------------------------------------------------------

Looks fine as long as it passes try.
Attachment #553038 - Flags: review?(joe) → review+
(Assignee)

Comment 10

6 years ago
Created attachment 553821 [details] [diff] [review]
Compile Qt port for Non-X platform

NPEventX11 renamed into NPEventUnix and ifdefed inside with MOZ_X11
Attachment #553016 - Attachment is obsolete: true
Attachment #553016 - Flags: review?(doug.turner)
Attachment #553821 - Flags: review?(doug.turner)
Comment on attachment 553821 [details] [diff] [review]
Compile Qt port for Non-X platform

Review of attachment 553821 [details] [diff] [review]:
-----------------------------------------------------------------

::: dom/plugins/base/nsNPAPIPlugin.cpp
@@ +2009,5 @@
>  
>    switch(variable) {
>  #if defined(XP_UNIX) && !defined(XP_MACOSX)
>    case NPNVxDisplay : {
> +#if defined(MOZ_WIDGET_GTK2) || (defined(MOZ_WIDGET_QT) && defined(MOZ_X11))

Shouldn't this just be:

#ifdef MOZ_X11 now?

::: widget/src/qt/nsToolkit.cpp
@@ +139,3 @@
>      return mSharedGC->handle();
> +#else
> +    return 0;

Is return zero bad?

http://mxr.mozilla.org/mozilla-central/source/widget/src/qt/nsWindow.cpp#803
(Assignee)

Comment 12

6 years ago
Created attachment 554276 [details] [diff] [review]
Compile Qt port for Non-X platform

Fixed MOZ_X11 define...
SharedGC returning 0 in not bad, also currently it is used only in ifdef WIN...
http://mxr.mozilla.org/mozilla-central/source/dom/plugins/base/nsPluginInstanceOwner.cpp#2939
http://mxr.mozilla.org/mozilla-central/source/dom/plugins/base/nsPluginInstanceOwner.cpp#2956
Attachment #553821 - Attachment is obsolete: true
Attachment #553821 - Flags: review?(doug.turner)
Attachment #554276 - Flags: review?(doug.turner)

Updated

6 years ago
Attachment #554276 - Flags: review?(doug.turner) → review+
(Assignee)

Comment 13

6 years ago
Created attachment 555300 [details] [diff] [review]
Combined patch for push
(Assignee)

Updated

6 years ago
Keywords: checkin-needed
(Assignee)

Comment 14

6 years ago
Try build
http://tbpl.allizom.org/?tree=Try&usebuildbot=1&rev=a1998a0f883c
Doesn't apply cleanly to inbound, due to bug 677920 landing. That bug changed the behaviour in that section, so not going to attempt to unbitrot, since I don't know if it changes what you need to do here.
Keywords: checkin-needed
(Assignee)

Comment 16

6 years ago
Created attachment 555410 [details] [diff] [review]
Updated to latest m-c tip
Attachment #555300 - Attachment is obsolete: true
(Assignee)

Updated

6 years ago
Keywords: checkin-needed
Awesome, thanks :-)

http://hg.mozilla.org/integration/mozilla-inbound/rev/206ab0f10adf
Keywords: checkin-needed
Target Milestone: --- → mozilla9
http://hg.mozilla.org/mozilla-central/rev/206ab0f10adf
Status: ASSIGNED → RESOLVED
Last Resolved: 6 years ago
Resolution: --- → FIXED
I am getting tons of these from this patch:

###!!! ASSERTION: Failed to make GL context current!: 'succeeded', file mozilla-central/gfx/thebes/GLContextProviderEGL.cpp, line 795
Status: RESOLVED → REOPENED
Resolution: FIXED → ---
(Assignee)

Comment 20

6 years ago
Sounds like mSurface check is not needed in Qt backend MakeCurrentImpl... will check it today quickly.
(Assignee)

Comment 21

6 years ago
Ok, problem is in this line:
http://hg.mozilla.org/mozilla-central/rev/6e7449c449ba#l2.33
and mSurface check should not be performed for platform context.
I would suggest to file new bug.
Status: REOPENED → RESOLVED
Last Resolved: 6 years ago6 years ago
Resolution: --- → FIXED
(Assignee)

Updated

6 years ago
Depends on: 682327
Product: Core → Core Graveyard
You need to log in before you can comment on or make changes to this bug.