rpms/kdelibs/devel kdelibs-3.5.3-kde#118277.patch, NONE, 1.1 kdelibs-3.5.3-kde#123315.patch, NONE, 1.1 kdelibs-3.5.3-kde#128842.patch, NONE, 1.1 kdelibs-3.5.3-kde#128902.patch, NONE, 1.1 kdelibs-3.5.3-kde#57159.patch, NONE, 1.1 kdelibs-3.5.3-kde#65546.patch, NONE, 1.1 kdelibs-3.5.3-kde#67849.patch, NONE, 1.1 kdelibs.spec, 1.149, 1.150
fedora-cvs-commits at redhat.com
fedora-cvs-commits at redhat.com
Thu Jun 29 10:01:07 UTC 2006
Author: than
Update of /cvs/dist/rpms/kdelibs/devel
In directory cvs.devel.redhat.com:/tmp/cvs-serv19426
Modified Files:
kdelibs.spec
Added Files:
kdelibs-3.5.3-kde#118277.patch kdelibs-3.5.3-kde#123315.patch
kdelibs-3.5.3-kde#128842.patch kdelibs-3.5.3-kde#128902.patch
kdelibs-3.5.3-kde#57159.patch kdelibs-3.5.3-kde#65546.patch
kdelibs-3.5.3-kde#67849.patch
Log Message:
- apply upstream patches
kdelibs-3.5.3-kde#118277.patch:
html/html_baseimpl.cpp | 25 +++++++++++++++++++++++++
html/html_baseimpl.h | 4 ++++
khtmlview.cpp | 14 +++++++++-----
rendering/render_form.h | 5 -----
rendering/render_frames.h | 8 ++++++++
rendering/render_object.cpp | 10 +++++++---
rendering/render_replaced.h | 5 +++++
7 files changed, 58 insertions(+), 13 deletions(-)
--- NEW FILE kdelibs-3.5.3-kde#118277.patch ---
Index: khtml/khtmlview.cpp
===================================================================
--- khtml/khtmlview.cpp (Revision 555344)
+++ khtml/khtmlview.cpp (Revision 555345)
@@ -660,7 +660,14 @@
QWidget *w = it.current();
RenderWidget* rw = static_cast<RenderWidget*>( it.currentKey() );
if (w && rw && !rw->isKHTMLWidget()) {
- QRect g = w->geometry();
+ int x, y;
+ rw->absolutePosition(x, y);
+ contentsToViewport(x, y, x, y);
+ int pbx = rw->borderLeft()+rw->paddingLeft();
+ int pby = rw->borderTop()+rw->paddingTop();
+ QRect g = QRect(x+pbx, y+pby,
+ rw->width()-pbx-rw->borderRight()-rw->paddingRight(),
+ rw->height()-pby-rw->borderBottom()-rw->paddingBottom());
if ( !rw->isFrame() && ((g.top() > pt.y()+eh) || (g.bottom() <= pt.y()) ||
(g.right() <= pt.x()) || (g.left() > pt.x()+ew) ))
continue;
@@ -673,10 +680,7 @@
mask = mask.intersect( QRect(g.x(),g.y(),g.width(),g.height()) );
cr -= mask;
} else {
- int x, y;
- rw->absolutePosition(x,y);
- contentsToViewport(x,y,x,y);
- cr -= QRect(x,y,rw->width(),rw->height());
+ cr -= g;
}
}
}
Index: khtml/html/html_baseimpl.cpp
===================================================================
--- khtml/html/html_baseimpl.cpp (Revision 555344)
+++ khtml/html/html_baseimpl.cpp (Revision 555345)
@@ -584,6 +584,7 @@
marginWidth = 0;
marginHeight = 0;
needWidgetUpdate = false;
+ m_frame = true;
}
HTMLIFrameElementImpl::~HTMLIFrameElementImpl()
@@ -615,17 +616,41 @@
needWidgetUpdate = true; // ### do this for scrolling, margins etc?
HTMLFrameElementImpl::parseAttribute( attr );
break;
+ case ATTR_FRAMEBORDER:
+ {
+ m_frame = (!attr->val() || attr->value().toInt() > 0);
+ if (attached()) updateFrame();
+ }
default:
HTMLFrameElementImpl::parseAttribute( attr );
}
}
+void HTMLIFrameElementImpl::updateFrame()
+{
+ if (m_frame) {
+ addCSSProperty(CSS_PROP_BORDER_TOP_STYLE, CSS_VAL_OUTSET);
+ addCSSProperty(CSS_PROP_BORDER_BOTTOM_STYLE, CSS_VAL_OUTSET);
+ addCSSProperty(CSS_PROP_BORDER_LEFT_STYLE, CSS_VAL_OUTSET);
+ addCSSProperty(CSS_PROP_BORDER_RIGHT_STYLE, CSS_VAL_OUTSET);
+ addCSSLength(CSS_PROP_BORDER_WIDTH, "2");
+ } else {
+ addCSSProperty(CSS_PROP_BORDER_TOP_STYLE, CSS_VAL_NONE);
+ addCSSProperty(CSS_PROP_BORDER_BOTTOM_STYLE, CSS_VAL_NONE);
+ addCSSProperty(CSS_PROP_BORDER_LEFT_STYLE, CSS_VAL_NONE);
+ addCSSProperty(CSS_PROP_BORDER_RIGHT_STYLE, CSS_VAL_NONE);
+ removeCSSProperty(CSS_PROP_BORDER_WIDTH);
+ }
+
+}
+
void HTMLIFrameElementImpl::attach()
{
assert(!attached());
assert(!m_render);
assert(parentNode());
+ updateFrame();
name = getAttribute(ATTR_NAME);
if (name.isNull())
name = getAttribute(ATTR_ID);
Index: khtml/html/html_baseimpl.h
===================================================================
--- khtml/html/html_baseimpl.h (Revision 555344)
+++ khtml/html/html_baseimpl.h (Revision 555345)
@@ -190,7 +190,11 @@
virtual void recalcStyle( StyleChange ch );
protected:
+
+ void updateFrame();
+
bool needWidgetUpdate;
+ bool m_frame;
};
Index: khtml/rendering/render_form.h
===================================================================
--- khtml/rendering/render_form.h (Revision 555344)
+++ khtml/rendering/render_form.h (Revision 555345)
@@ -78,11 +78,6 @@
virtual bool isFormElement() const { return true; }
- virtual int borderTop() const { return canHaveBorder() ? RenderWidget::borderTop() : 0; }
- virtual int borderBottom() const { return canHaveBorder() ? RenderWidget::borderBottom() : 0; }
- virtual int borderLeft() const { return canHaveBorder() ? RenderWidget::borderLeft() : 0; }
- virtual int borderRight() const { return canHaveBorder() ? RenderWidget::borderRight() : 0; }
-
// form elements never have padding
virtual int paddingTop() const { return 0; }
virtual int paddingBottom() const { return 0; }
Index: khtml/rendering/render_frames.h
===================================================================
--- khtml/rendering/render_frames.h (Revision 555344)
+++ khtml/rendering/render_frames.h (Revision 555345)
@@ -130,6 +130,12 @@
virtual const char *renderName() const { return "RenderFrame"; }
virtual bool isFrame() const { return true; }
+ // frames never have padding
+ virtual int paddingTop() const { return 0; }
+ virtual int paddingBottom() const { return 0; }
+ virtual int paddingLeft() const { return 0; }
+ virtual int paddingRight() const { return 0; }
+
DOM::HTMLFrameElementImpl *element() const
{ return static_cast<DOM::HTMLFrameElementImpl*>(RenderObject::element()); }
@@ -150,6 +156,8 @@
virtual void layout( );
virtual void updateWidget();
+
+ virtual bool canHaveBorder() const { return true; }
virtual bool partLoadingErrorNotify( khtml::ChildFrame *childFrame, const KURL& url, const QString& serviceType );
Index: khtml/rendering/render_replaced.h
===================================================================
--- khtml/rendering/render_replaced.h (Revision 555344)
+++ khtml/rendering/render_replaced.h (Revision 555345)
@@ -146,6 +146,11 @@
bool m_needsMask;
public:
+ virtual int borderTop() const { return canHaveBorder() ? RenderReplaced::borderTop() : 0; }
+ virtual int borderBottom() const { return canHaveBorder() ? RenderReplaced::borderBottom() : 0; }
+ virtual int borderLeft() const { return canHaveBorder() ? RenderReplaced::borderLeft() : 0; }
+ virtual int borderRight() const { return canHaveBorder() ? RenderReplaced::borderRight() : 0; }
+
class EventPropagator : public QWidget {
public:
void sendEvent(QEvent *e);
Index: khtml/rendering/render_object.cpp
===================================================================
--- khtml/rendering/render_object.cpp (Revision 555344)
+++ khtml/rendering/render_object.cpp (Revision 555345)
@@ -2182,9 +2182,13 @@
QRegion r = l ? l->getMask() : QRegion();
int x,y;
if (!r.isNull() && curr->absolutePosition(x,y)) {
- x+= curr->borderLeft()+curr->paddingLeft();
- y+= curr->borderBottom()+curr->paddingBottom();
- r = r.intersect(QRect(x,y,curr->width(),curr->height()));
+ int pbx = curr->borderLeft()+curr->paddingLeft();
+ int pby = curr->borderTop()+curr->paddingTop();
+ x+= pbx;
+ y+= pby;
+ r = r.intersect(QRect(x,y,
+ curr->width()-pbx-curr->borderRight()-curr->paddingRight(),
+ curr->height()-pby-curr->borderBottom()-curr->paddingBottom()));
#ifdef MASK_DEBUG
QMemArray<QRect> ar = r.rects();
kdDebug(6040) << "|| Setting widget mask for " << curr->information() << endl;
kdelibs-3.5.3-kde#123315.patch:
kdirwatch.cpp | 69 +++++++++++++++++++++++++++++++++++++++-------------------
1 files changed, 47 insertions(+), 22 deletions(-)
--- NEW FILE kdelibs-3.5.3-kde#123315.patch ---
Index: kio/kio/kdirwatch.cpp
===================================================================
--- kio/kio/kdirwatch.cpp (Revision 555363)
+++ kio/kio/kdirwatch.cpp (Revision 555364)
@@ -407,9 +407,6 @@
if ( event->len )
path = QFile::decodeName( QCString( event->name, event->len ) );
- if ( event->mask & IN_IGNORED )
- continue;
-
if ( path.length() && isNoisyFile( path.latin1() ) )
continue;
@@ -428,12 +425,15 @@
if( event->mask & IN_DELETE_SELF) {
kdDebug(7001) << "-->got deleteself signal for " << e->path << endl;
e->m_status = NonExistent;
- //(void) inotify_rm_watch( m_inotify_fd, e->wd );
- addEntry(0, QDir::cleanDirPath(e->path+"/.."), e, true);
+ if (e->isDir)
+ addEntry(0, QDir::cleanDirPath(e->path+"/.."), e, true);
+ else
+ addEntry(0, QFileInfo(e->path).dirPath(true), e, true);
}
+ if ( event->mask & IN_IGNORED ) {
+ e->wd = 0;
+ }
if ( event->mask & (IN_CREATE|IN_MOVED_TO) ) {
- kdDebug(7001) << "-->got new subfile " << path << " in " << e->path << endl;
-
Entry *sub_entry = e->m_entries.first();
for(;sub_entry; sub_entry = e->m_entries.next())
if (sub_entry->path == e->path + "/" + path) break;
@@ -727,7 +727,10 @@
return true;
if ( e->m_status == NonExistent ) {
- addEntry(0, QDir::cleanDirPath(e->path+"/.."), e, true);
+ if (e->isDir)
+ addEntry(0, QDir::cleanDirPath(e->path+"/.."), e, true);
+ else
+ addEntry(0, QFileInfo(e->path).dirPath(true), e, true);
return true;
}
@@ -782,6 +785,7 @@
(*it).m_entries.append(sub_entry);
kdDebug(7001) << "Added already watched Entry " << path
<< " (for " << sub_entry->path << ")" << endl;
+
#ifdef HAVE_DNOTIFY
Entry* e = &(*it);
if( (e->m_mode == DNotifyMode) && (e->dn_fd > 0) ) {
@@ -798,6 +802,21 @@
}
}
#endif
+
+#ifdef HAVE_INOTIFY
+ Entry* e = &(*it);
+ if( (e->m_mode == INotifyMode) && (e->wd > 0) ) {
+ int mask = IN_DELETE|IN_DELETE_SELF|IN_CREATE|IN_MOVE|IN_MOVE_SELF|IN_DONT_FOLLOW;
+ if(!e->isDir)
+ mask |= IN_MODIFY|IN_ATTRIB;
+ else
+ mask |= IN_ONLYDIR;
+
+ inotify_rm_watch (m_inotify_fd, e->wd);
+ e->wd = inotify_add_watch( m_inotify_fd, QFile::encodeName( e->path ), mask);
+ }
+#endif
+
}
else {
(*it).addClient(instance);
@@ -928,8 +947,12 @@
m_inotify_fd << ", " << e->wd <<
") for " << e->path << endl;
}
- else
- removeEntry( 0, QDir::cleanDirPath( e->path+"/.." ), e );
+ else {
+ if (e->isDir)
+ removeEntry(0, QDir::cleanDirPath(e->path+"/.."), e);
+ else
+ removeEntry(0, QFileInfo(e->path).dirPath(true), e);
+ }
}
#endif
@@ -1167,15 +1190,6 @@
return Changed;
}
-#ifdef HAVE_INOTIFY
- // for inotify we delay the initial stating till the first event in it
- if ( e->m_status == Normal && e->m_ctime == invalid_ctime )
- {
- e->m_ctime = stat_buf.st_ctime;
- e->m_nlink = stat_buf.st_nlink;
- }
-#endif
-
return NoChange;
}
@@ -1278,7 +1292,7 @@
// removeDir(), when called in slotDirty(), can cause a crash otherwise
delayRemove = true;
-#ifdef HAVE_DNOTIFY
+#if defined(HAVE_DNOTIFY) || defined(HAVE_INOTIFY)
QPtrList<Entry> dList, cList;
#endif
@@ -1306,6 +1320,16 @@
int ev = scanEntry( &(*it) );
+
+#ifdef HAVE_INOTIFY
+ if ((*it).m_mode == INotifyMode && ev == Created && (*it).wd == 0) {
+ cList.append( &(*it) );
+ if (! useINotify( &(*it) )) {
+ useStat( &(*it) );
+ }
+ }
+#endif
+
#ifdef HAVE_DNOTIFY
if ((*it).m_mode == DNotifyMode) {
if ((*it).isDir && (ev == Deleted)) {
@@ -1337,7 +1361,7 @@
}
-#ifdef HAVE_DNOTIFY
+#if defined(HAVE_DNOTIFY) || defined(HAVE_INOTIFY)
// Scan parent of deleted directories for new creation
Entry* e;
for(e=dList.first();e;e=dList.next())
@@ -1542,7 +1566,8 @@
kdDebug(7001) << " dependent entries:" << endl;
Entry* d = e->m_entries.first();
for(;d; d = e->m_entries.next()) {
- kdDebug(7001) << " " << d->path << endl;
+ kdDebug(7001) << " " << d << endl;
+ kdDebug(7001) << " " << d->path << " (" << d << ") " << endl;
}
}
}
kdelibs-3.5.3-kde#128842.patch:
ustring.cpp | 10 ++++++----
1 files changed, 6 insertions(+), 4 deletions(-)
--- NEW FILE kdelibs-3.5.3-kde#128842.patch ---
Index: kjs/ustring.cpp
===================================================================
--- kjs/ustring.cpp (Revision 549505)
+++ kjs/ustring.cpp (Revision 549506)
@@ -131,18 +131,20 @@
UChar UChar::toLower() const
{
// ### properly support unicode tolower
- if (uc >= 256 || islower(uc))
+ if (uc >= 256)
return *this;
- return (unsigned char)tolower(uc);
+ // tolower is locale-dependent, don't use it.
+ return static_cast<unsigned char>( ( ( uc >= 'A' ) && ( uc <= 'Z' ) ) ? ( (int)uc + 'a' - 'A' ) : uc );
}
UChar UChar::toUpper() const
{
- if (uc >= 256 || isupper(uc))
+ if (uc >= 256)
return *this;
- return (unsigned char)toupper(uc);
+ // toupper is locale-dependent, don't use it.
+ return static_cast<unsigned char>( ( ( uc >= 'a' ) && ( uc <= 'z' ) ) ? ( (int)uc + 'A' - 'a' ) : uc );
}
UCharReference& UCharReference::operator=(UChar c)
kdelibs-3.5.3-kde#128902.patch:
kjs_window.cpp | 4 +++-
1 files changed, 3 insertions(+), 1 deletion(-)
--- NEW FILE kdelibs-3.5.3-kde#128902.patch ---
Index: khtml/ecma/kjs_window.cpp
===================================================================
--- khtml/ecma/kjs_window.cpp (Revision 549887)
+++ khtml/ecma/kjs_window.cpp (Revision 549888)
@@ -2464,8 +2464,10 @@
break;
case Location::Reload: {
KHTMLPart *khtmlpart = ::qt_cast<KHTMLPart *>(part);
- if (part)
+ if (khtmlpart)
khtmlpart->scheduleRedirection(-1, part->url().url(), true/*lock history*/);
+ else
+ part->openURL(part->url());
break;
}
case Location::ToString:
kdelibs-3.5.3-kde#57159.patch:
css/css_stylesheetimpl.cpp | 4 ++++
xml/dom_docimpl.cpp | 12 ++++++++++--
xml/dom_docimpl.h | 6 +++++-
3 files changed, 19 insertions(+), 3 deletions(-)
--- NEW FILE kdelibs-3.5.3-kde#57159.patch ---
Index: khtml/css/css_stylesheetimpl.cpp
===================================================================
--- khtml/css/css_stylesheetimpl.cpp (Revision 555956)
+++ khtml/css/css_stylesheetimpl.cpp (Revision 555957)
@@ -194,6 +194,8 @@
// HIERARCHY_REQUEST_ERR: Raised if the rule cannot be inserted at the specified index e.g. if an
//@import rule is inserted after a standard rule set or other at-rule.
m_lstChildren->insert(index, r);
+ if (m_doc)
+ m_doc->updateStyleSelector(true /*shallow*/);
return index;
}
@@ -211,6 +213,8 @@
return;
}
b->deref();
+ if (m_doc)
+ m_doc->updateStyleSelector(true /*shallow*/);
}
void CSSStyleSheetImpl::addNamespace(CSSParser* p, const DOM::DOMString& prefix, const DOM::DOMString& uri)
Index: khtml/xml/dom_docimpl.cpp
===================================================================
--- khtml/xml/dom_docimpl.cpp (Revision 555956)
+++ khtml/xml/dom_docimpl.cpp (Revision 555957)
@@ -1976,7 +1976,7 @@
if (exceptioncode) *exceptioncode = excode;
}
-void DocumentImpl::updateStyleSelector()
+void DocumentImpl::updateStyleSelector(bool shallow)
{
// kdDebug() << "PENDING " << m_pendingStylesheets << endl;
@@ -1984,7 +1984,10 @@
if (m_pendingStylesheets > 0)
return;
- recalcStyleSelector();
+ if (shallow)
+ rebuildStyleSelector();
+ else
+ recalcStyleSelector();
recalcStyle(Force);
#if 0
@@ -2134,6 +2137,11 @@
for (; it.current(); ++it)
it.current()->deref();
+ rebuildStyleSelector();
+}
+
+void DocumentImpl::rebuildStyleSelector()
+{
// Create a new style selector
delete m_styleSelector;
QString usersheet = m_usersheet;
Index: khtml/xml/dom_docimpl.h
===================================================================
--- khtml/xml/dom_docimpl.h (Revision 555956)
+++ khtml/xml/dom_docimpl.h (Revision 555957)
@@ -258,10 +258,14 @@
* <LINK>, <STYLE> or <BODY> elements, as well as processing instructions (XML documents only). A list is
* constructed from these which is used to create the a new style selector which collates all of the stylesheets
* found and is used to calculate the derived styles for all rendering objects.
+ *
+ * @param shallow If the stylesheet list for the document is unchanged, with only added or removed rules
+ * in existing sheets, then set this argument to true for efficiency.
*/
- void updateStyleSelector();
+ void updateStyleSelector(bool shallow=false);
void recalcStyleSelector();
+ void rebuildStyleSelector();
QString nextState();
kdelibs-3.5.3-kde#65546.patch:
dtd.cpp | 4 ++--
1 files changed, 2 insertions(+), 2 deletions(-)
--- NEW FILE kdelibs-3.5.3-kde#65546.patch ---
Index: khtml/html/dtd.cpp
===================================================================
--- khtml/html/dtd.cpp (Revision 549400)
+++ khtml/html/dtd.cpp (Revision 549401)
@@ -599,8 +599,8 @@
// _1 *
return check_array(childID, tag_list_1) || check_array(childID, tag_list_6);
case ID_P:
- // P: ( _0 | TABLE ) *
- return check_array(childID, tag_list_0) || (!strict && childID == ID_TABLE);
+ // P: ( _0 | TABLE | NOSCRIPT) *
+ return check_array(childID, tag_list_0) || (!strict && (childID == ID_TABLE || childID == ID_NOSCRIPT));
case ID_H1:
case ID_H2:
case ID_H3:
kdelibs-3.5.3-kde#67849.patch:
table_layout.cpp | 2 --
1 files changed, 2 deletions(-)
--- NEW FILE kdelibs-3.5.3-kde#67849.patch ---
Index: khtml/rendering/table_layout.cpp
===================================================================
--- khtml/rendering/table_layout.cpp (Revision 552381)
+++ khtml/rendering/table_layout.cpp (Revision 552382)
@@ -288,8 +288,6 @@
int base = tableWidth * totalPercent / 100;
if ( base > available )
base = available;
- else
- totalPercent = 100;
#ifdef DEBUG_LAYOUT
qDebug("FixedTableLayout::layout: assigning percent width, base=%d, totalPercent=%d", base, totalPercent);
Index: kdelibs.spec
===================================================================
RCS file: /cvs/dist/rpms/kdelibs/devel/kdelibs.spec,v
retrieving revision 1.149
retrieving revision 1.150
diff -u -r1.149 -r1.150
--- kdelibs.spec 29 Jun 2006 08:44:52 -0000 1.149
+++ kdelibs.spec 29 Jun 2006 10:01:04 -0000 1.150
@@ -18,8 +18,6 @@
%define dnotify 1
%define arts 1
-%define disable_gcc_check_and_hidden_visibility 1
-
Version: 3.5.3
Release: 5
Summary: K Desktop Environment - Libraries
@@ -54,6 +52,13 @@
Patch100: kdelibs-3.5.3-konqueror-khtml.patch
Patch101: kdelibs-3.5.3-khtml-regression.patch
Patch102: kdelibs-3.5.3.diff
+Patch103: kdelibs-3.5.3-kde#57159.patch
+Patch104: kdelibs-3.5.3-kde#118277.patch
+Patch105: kdelibs-3.5.3-kde#123315.patch
+Patch106: kdelibs-3.5.3-kde#65546.patch
+Patch107: kdelibs-3.5.3-kde#128842.patch
+Patch108: kdelibs-3.5.3-kde#128902.patch
+Patch109: kdelibs-3.5.3-kde#67849.patch
%if %{arts}
Requires: arts >= %{arts_epoch}:%{arts_version}
@@ -186,6 +191,13 @@
%patch100 -p1 -b .konqueror-khtml
%patch101 -p1 -b .khtml-regression
%patch102 -p0 -b .return-check
+%patch103 -p0 -b .kde#57159
+%patch104 -p0 -b .kde#118277
+%patch105 -p0 -b .kde#123315
+%patch106 -p0 -b .kde#65546
+%patch107 -p0 -b .kde#128842
+%patch108 -p0 -b .kde#128902
+%patch109 -p0 -b .kde#67849
perl -pi -e "s,^#define KDE_VERSION_STRING .*,#define KDE_VERSION_STRING \"%{version}-%{release} %{distname}\"," kdecore/kdeversion.h
@@ -215,9 +227,7 @@
--enable-cups \
--enable-mitshm \
--with-xinerama \
-%if %{disable_gcc_check_and_hidden_visibility}
--disable-gcc-hidden-visibility \
-%endif
--enable-pie \
%if %{arts} == 0
--without-arts \
More information about the fedora-cvs-commits
mailing list