зеркало из https://github.com/mozilla/pjs.git
Bug 683085 - NativeParentWidget used incorrectly in Widget Qt port r=dougt
This commit is contained in:
Родитель
0fffdb68c1
Коммит
7abe453e31
|
@ -142,6 +142,10 @@ static Atom sPluginIMEAtom;
|
|||
#include "Layers.h"
|
||||
#include "LayerManagerOGL.h"
|
||||
|
||||
// If embedding clients want to create widget without real parent window
|
||||
// then nsIBaseWindow->Init() should have parent argument equal to PARENTLESS_WIDGET
|
||||
#define PARENTLESS_WIDGET (void*)0x13579
|
||||
|
||||
#include "nsShmImage.h"
|
||||
extern "C" {
|
||||
#include "pixman.h"
|
||||
|
@ -2278,11 +2282,9 @@ nsWindow::Create(nsIWidget *aParent,
|
|||
|
||||
if (aParent != nsnull)
|
||||
parent = static_cast<MozQWidget*>(aParent->GetNativeData(NS_NATIVE_WIDGET));
|
||||
else
|
||||
parent = static_cast<MozQWidget*>(aNativeParent);
|
||||
|
||||
// ok, create our QGraphicsWidget
|
||||
mWidget = createQWidget(parent, aInitData);
|
||||
mWidget = createQWidget(parent, aNativeParent, aInitData);
|
||||
|
||||
if (!mWidget)
|
||||
return NS_ERROR_OUT_OF_MEMORY;
|
||||
|
@ -2628,7 +2630,9 @@ nsPopupWindow::~nsPopupWindow()
|
|||
}
|
||||
|
||||
MozQWidget*
|
||||
nsWindow::createQWidget(MozQWidget *parent, nsWidgetInitData *aInitData)
|
||||
nsWindow::createQWidget(MozQWidget *parent,
|
||||
nsNativeWidget nativeParent,
|
||||
nsWidgetInitData *aInitData)
|
||||
{
|
||||
const char *windowName = NULL;
|
||||
Qt::WindowFlags flags = Qt::Widget;
|
||||
|
@ -2664,7 +2668,13 @@ nsWindow::createQWidget(MozQWidget *parent, nsWidgetInitData *aInitData)
|
|||
break;
|
||||
}
|
||||
|
||||
MozQWidget * widget = new MozQWidget(this, parent);
|
||||
MozQWidget* parentQWidget = nsnull;
|
||||
if (parent) {
|
||||
parentQWidget = parent;
|
||||
} else if (nativeParent && nativeParent != PARENTLESS_WIDGET) {
|
||||
parentQWidget = static_cast<MozQWidget*>(nativeParent);
|
||||
}
|
||||
MozQWidget * widget = new MozQWidget(this, parentQWidget);
|
||||
if (!widget)
|
||||
return nsnull;
|
||||
|
||||
|
|
|
@ -347,7 +347,9 @@ private:
|
|||
void InitButtonEvent(nsMouseEvent &event, QGraphicsSceneMouseEvent *aEvent, int aClickCount = 1);
|
||||
nsEventStatus DispatchCommandEvent(nsIAtom* aCommand);
|
||||
nsEventStatus DispatchContentCommandEvent(PRInt32 aMsg);
|
||||
MozQWidget* createQWidget(MozQWidget *parent, nsWidgetInitData *aInitData);
|
||||
MozQWidget* createQWidget(MozQWidget* parent,
|
||||
nsNativeWidget nativeParent,
|
||||
nsWidgetInitData* aInitData);
|
||||
void SetSoftwareKeyboardState(PRBool aOpen);
|
||||
|
||||
MozQWidget* mWidget;
|
||||
|
|
Загрузка…
Ссылка в новой задаче