* Mon Jul 25 2011 Kevin Kofler <Kevin@tigcc.ticalc.org> 4.6.95-11

- fix KHTML form completion regression (kde#277457, patch by Andrea Iacovitti)
This commit is contained in:
Kevin Kofler 2011-07-25 19:15:14 +02:00
parent 7d5a327616
commit da9c150c6e
2 changed files with 65 additions and 1 deletions

View File

@ -0,0 +1,56 @@
--- kdelibs/khtml/rendering/render_form.cpp
+++ kdelibs/khtml/rendering/render_form.cpp
@@ -1012,11 +1012,11 @@
// -----------------------------------------------------------------------------
RenderLineEdit::RenderLineEdit(HTMLInputElementImpl *element)
- : RenderFormElement(element)
+ : RenderFormElement(element), m_blockElementUpdates(false)
{
LineEditWidget *edit = new LineEditWidget(element, view(), view()->widget());
connect(edit,SIGNAL(returnPressed()), this, SLOT(slotReturnPressed()));
- connect(edit,SIGNAL(textEdited(QString)),this,SLOT(slotTextEdited(QString)));
+ connect(edit,SIGNAL(textChanged(QString)),this,SLOT(slotTextChanged(QString)));
if(element->inputType() == HTMLInputElementImpl::PASSWORD)
edit->setEchoMode( QLineEdit::Password );
@@ -1142,17 +1142,21 @@
}
if (element()->value().string() != widget()->text()) {
+ m_blockElementUpdates = true;
int pos = widget()->cursorPosition();
widget()->setText(element()->value().string());
widget()->setCursorPosition(pos);
+ m_blockElementUpdates = false;
}
widget()->setReadOnly(element()->readOnly());
RenderFormElement::updateFromElement();
}
-void RenderLineEdit::slotTextEdited(const QString &string)
+void RenderLineEdit::slotTextChanged(const QString &string)
{
+ if (m_blockElementUpdates) return;
+
// don't use setValue here!
element()->m_value = string;
element()->m_unsubmittedFormChange = true;
--- kdelibs/khtml/rendering/render_form.h
+++ kdelibs/khtml/rendering/render_form.h
@@ -282,12 +282,13 @@
void setSelectionRange(long start, long end);
public Q_SLOTS:
void slotReturnPressed();
- void slotTextEdited(const QString &string);
+ void slotTextChanged(const QString &string);
protected:
private:
virtual bool isEditable() const { return true; }
virtual bool canHaveBorder() const { return true; }
+ bool m_blockElementUpdates;
};
// -------------------------------------------------------------------------

View File

@ -13,7 +13,7 @@
Summary: KDE Libraries
Version: 4.6.95
Release: 10%{?dist}
Release: 11%{?dist}
Name: kdelibs
Epoch: 6
@ -102,6 +102,10 @@ Patch50: kdelibs-4.5.1-knewstuff_gpg2.patch
# https://bugs.kde.org/show_bug.cgi?id=269045
# https://git.reviewboard.kde.org/r/101231/
Patch51: kdelibs-4.6.2-uri_mimetypes.patch
# Fix for KHTML form completion regression (kde#277457) from bugs.kde.org
# attachment (patch by Andrea Iacovitti)
# https://bugs.kde.org/show_bug.cgi?id=277457#c2
Patch52: kdelibs-4.6.5-khtml-kde#277457.patch
## upstream
@ -287,6 +291,7 @@ sed -i -e "s|@@VERSION_RELEASE@@|%{version}-%{release}|" kio/kio/kprotocolmanage
# upstreamable patches
%patch50 -p1 -b .knewstuff_gpg2
%patch51 -p1 -b .uri_mimetypes
%patch52 -p1 -b .khtml-kde#277457
# upstream patches
@ -535,6 +540,9 @@ rm -rf %{buildroot}
%changelog
* Mon Jul 25 2011 Kevin Kofler <Kevin@tigcc.ticalc.org> 4.6.95-11
- fix KHTML form completion regression (kde#277457, patch by Andrea Iacovitti)
* Fri Jul 22 2011 Rex Dieter <rdieter@fedoraproject.org> 4.6.95-10
- drop kate