mirror of
https://gitlab.winehq.org/wine/wine-gecko.git
synced 2024-09-13 09:24:08 -07:00
Bug 968647 - Part 2. Listen window position change for IME. r=roc
This commit is contained in:
parent
ba3a895ec9
commit
1e3167927c
@ -1752,8 +1752,7 @@ bool nsChildView::PaintWindow(nsIntRegion aRegion)
|
||||
|
||||
void nsChildView::ReportMoveEvent()
|
||||
{
|
||||
if (mWidgetListener)
|
||||
mWidgetListener->WindowMoved(this, mBounds.x, mBounds.y);
|
||||
NotifyWindowMoved(mBounds.x, mBounds.y);
|
||||
}
|
||||
|
||||
void nsChildView::ReportSizeEvent()
|
||||
|
@ -1721,8 +1721,7 @@ nsCocoaWindow::ReportMoveEvent()
|
||||
UpdateBounds();
|
||||
|
||||
// Dispatch the move event to Gecko
|
||||
if (mWidgetListener)
|
||||
mWidgetListener->WindowMoved(this, mBounds.x, mBounds.y);
|
||||
NotifyWindowMoved(mBounds.x, mBounds.y);
|
||||
|
||||
mInReportMoveEvent = false;
|
||||
|
||||
|
@ -2368,8 +2368,7 @@ nsWindow::OnConfigureEvent(GtkWidget *aWidget, GdkEventConfigure *aEvent)
|
||||
|
||||
// XXX mozilla will invalidate the entire window after this move
|
||||
// complete. wtf?
|
||||
if (mWidgetListener)
|
||||
mWidgetListener->WindowMoved(this, mBounds.x, mBounds.y);
|
||||
NotifyWindowMoved(mBounds.x, mBounds.y);
|
||||
|
||||
return FALSE;
|
||||
}
|
||||
|
@ -872,8 +872,8 @@ nsWindow::moveEvent(QMoveEvent* aEvent)
|
||||
return nsEventStatus_eIgnore;
|
||||
}
|
||||
|
||||
bool moved = mWidgetListener->WindowMoved(this, aEvent->pos().x(), aEvent->pos().y());
|
||||
return moved ? nsEventStatus_eConsumeNoDefault : nsEventStatus_eIgnore;
|
||||
NotifyWindowMoved(aEvent->pos().x(), aEvent->pos().y());
|
||||
return nsEventStatus_eConsumeNoDefault;
|
||||
}
|
||||
|
||||
nsEventStatus
|
||||
|
@ -5798,10 +5798,10 @@ void nsWindow::OnWindowPosChanged(WINDOWPOS* wp)
|
||||
break;
|
||||
case nsSizeMode_Maximized:
|
||||
PR_LOG(gWindowsLog, PR_LOG_ALWAYS,
|
||||
("*** mSizeMode: nsSizeMode_Maximized\n");
|
||||
("*** mSizeMode: nsSizeMode_Maximized\n"));
|
||||
break;
|
||||
default:
|
||||
PR_LOG(gWindowsLog, PR_LOG_ALWAYS, ("*** mSizeMode: ??????\n");
|
||||
PR_LOG(gWindowsLog, PR_LOG_ALWAYS, ("*** mSizeMode: ??????\n"));
|
||||
break;
|
||||
};
|
||||
#endif
|
||||
@ -5825,9 +5825,7 @@ void nsWindow::OnWindowPosChanged(WINDOWPOS* wp)
|
||||
mBounds.x = wp->x;
|
||||
mBounds.y = wp->y;
|
||||
|
||||
if (mWidgetListener) {
|
||||
mWidgetListener->WindowMoved(this, wp->x, wp->y);
|
||||
}
|
||||
NotifyWindowMoved(wp->x, wp->y);
|
||||
}
|
||||
|
||||
// Handle window size changes
|
||||
|
@ -1484,9 +1484,7 @@ MetroWidget::Activated(bool aActiveated)
|
||||
NS_IMETHODIMP
|
||||
MetroWidget::Move(double aX, double aY)
|
||||
{
|
||||
if (mWidgetListener) {
|
||||
mWidgetListener->WindowMoved(this, aX, aY);
|
||||
}
|
||||
NotifyWindowMoved(aX, aY);
|
||||
return NS_OK;
|
||||
}
|
||||
|
||||
|
@ -1471,6 +1471,18 @@ nsBaseWidget::NotifySizeMoveDone()
|
||||
}
|
||||
}
|
||||
|
||||
void
|
||||
nsBaseWidget::NotifyWindowMoved(int32_t aX, int32_t aY)
|
||||
{
|
||||
if (mWidgetListener) {
|
||||
mWidgetListener->WindowMoved(this, aX, aY);
|
||||
}
|
||||
|
||||
if (GetIMEUpdatePreference().WantPositionChanged()) {
|
||||
NotifyIME(IMENotification(IMEMessage::NOTIFY_IME_OF_POSITION_CHANGE));
|
||||
}
|
||||
}
|
||||
|
||||
void
|
||||
nsBaseWidget::NotifySysColorChanged()
|
||||
{
|
||||
|
@ -210,6 +210,7 @@ public:
|
||||
|
||||
void NotifyWindowDestroyed();
|
||||
void NotifySizeMoveDone();
|
||||
void NotifyWindowMoved(int32_t aX, int32_t aY);
|
||||
|
||||
// Should be called by derived implementations to notify on system color and
|
||||
// theme changes.
|
||||
|
Loading…
Reference in New Issue
Block a user