[SCM] WebKit Debian packaging branch, debian/unstable, updated. debian/1.1.15-1-40151-g37bb677
darin
darin at 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Sat Sep 26 07:23:00 UTC 2009
The following commit has been merged in the debian/unstable branch:
commit 864fe8ff4ab66552409b6429413ea96fd32ebf78
Author: darin <darin at 268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Date: Fri Jan 31 04:09:16 2003 +0000
Reviewed by Ken, Maciej, and Trey.
- fixed 3161486 -- REGRESSION: double click on a widget causes crash
* kwq/KWQKHTMLPart.mm: (KWQKHTMLPart::passWidgetMouseDownEventToWidget):
Only pass the mouseUp event if it's not the same as the current event.
Through a strange set of circumstances, sometimes the "mouse down" event is a mouse up
event (due to KHTML vs. AppKit differences for double-click handling).
- fixed build with newer compiler
* khtml/html/Makefile.am: Use ANSI-C style, not C++ style, gperf.
* khtml/html/doctypes.cpp: Regenerated.
* khtml/html/html_documentimpl.cpp: Do __inline workaround to make newer compiler happy.
(HTMLDocumentImpl::determineParseMode): Change to use ANSI-C style.
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@3517 268f45cc-cd09-0410-ab3c-d52691b4dbfc
diff --git a/WebCore/ChangeLog-2003-10-25 b/WebCore/ChangeLog-2003-10-25
index 4a390e9..5a6dce0 100644
--- a/WebCore/ChangeLog-2003-10-25
+++ b/WebCore/ChangeLog-2003-10-25
@@ -1,5 +1,23 @@
=== Safari-55 ===
+2003-01-30 Darin Adler <darin at apple.com>
+
+ Reviewed by Ken, Maciej, and Trey.
+
+ - fixed 3161486 -- REGRESSION: double click on a widget causes crash
+
+ * kwq/KWQKHTMLPart.mm: (KWQKHTMLPart::passWidgetMouseDownEventToWidget):
+ Only pass the mouseUp event if it's not the same as the current event.
+ Through a strange set of circumstances, sometimes the "mouse down" event is a mouse up
+ event (due to KHTML vs. AppKit differences for double-click handling).
+
+ - fixed build with newer compiler
+
+ * khtml/html/Makefile.am: Use ANSI-C style, not C++ style, gperf.
+ * khtml/html/doctypes.cpp: Regenerated.
+ * khtml/html/html_documentimpl.cpp: Do __inline workaround to make newer compiler happy.
+ (HTMLDocumentImpl::determineParseMode): Change to use ANSI-C style.
+
2003-01-30 Richard Williamson <rjw at apple.com>
Fix for 3156831 (and dupe 3160816). Don't access userInfo on an invalid NSTimer.
diff --git a/WebCore/ChangeLog-2005-08-23 b/WebCore/ChangeLog-2005-08-23
index 4a390e9..5a6dce0 100644
--- a/WebCore/ChangeLog-2005-08-23
+++ b/WebCore/ChangeLog-2005-08-23
@@ -1,5 +1,23 @@
=== Safari-55 ===
+2003-01-30 Darin Adler <darin at apple.com>
+
+ Reviewed by Ken, Maciej, and Trey.
+
+ - fixed 3161486 -- REGRESSION: double click on a widget causes crash
+
+ * kwq/KWQKHTMLPart.mm: (KWQKHTMLPart::passWidgetMouseDownEventToWidget):
+ Only pass the mouseUp event if it's not the same as the current event.
+ Through a strange set of circumstances, sometimes the "mouse down" event is a mouse up
+ event (due to KHTML vs. AppKit differences for double-click handling).
+
+ - fixed build with newer compiler
+
+ * khtml/html/Makefile.am: Use ANSI-C style, not C++ style, gperf.
+ * khtml/html/doctypes.cpp: Regenerated.
+ * khtml/html/html_documentimpl.cpp: Do __inline workaround to make newer compiler happy.
+ (HTMLDocumentImpl::determineParseMode): Change to use ANSI-C style.
+
2003-01-30 Richard Williamson <rjw at apple.com>
Fix for 3156831 (and dupe 3160816). Don't access userInfo on an invalid NSTimer.
diff --git a/WebCore/khtml/html/Makefile.am b/WebCore/khtml/html/Makefile.am
index 9f5df0b..3213d07 100644
--- a/WebCore/khtml/html/Makefile.am
+++ b/WebCore/khtml/html/Makefile.am
@@ -1,8 +1,8 @@
kentities.c: kentities.gperf
$(GPERF) -a -L "ANSI-C" -C -G -c -o -t -k '*' -NfindEntity -D -s 2 $< > $@
-doctypes.cpp: doctypes.gperf
- $(GPERF) -CEot -L "C++" -k "*" -N findDoctypeEntry -F ,PubIDInfo::eAlmostStandards,PubIDInfo::eAlmostStandards $< > $@
+doctypes.cpp: doctypes.gperf Makefile.am
+ $(GPERF) -CEot -L "ANSI-C" -k "*" -N findDoctypeEntry -F ,PubIDInfo::eAlmostStandards,PubIDInfo::eAlmostStandards $< > $@
noinst_HEADERS = kentities.c doctypes.cpp
BUILT_SOURCES = $(noinst_HEADERS)
diff --git a/WebCore/khtml/html/doctypes.cpp b/WebCore/khtml/html/doctypes.cpp
index 7384d7e..460f058 100644
--- a/WebCore/khtml/html/doctypes.cpp
+++ b/WebCore/khtml/html/doctypes.cpp
@@ -1,5 +1,5 @@
-/* C++ code produced by gperf version 2.7.2 */
-/* Command-line: gperf -CEot -L C++ -k '*' -N findDoctypeEntry -F ,PubIDInfo::eAlmostStandards,PubIDInfo::eAlmostStandards doctypes.gperf */
+/* ANSI-C code produced by gperf version 2.7.2 */
+/* Command-line: gperf -CEot -L ANSI-C -k '*' -N findDoctypeEntry -F ,PubIDInfo::eAlmostStandards,PubIDInfo::eAlmostStandards doctypes.gperf */
struct PubIDInfo {
enum eMode {
eQuirks,
@@ -13,16 +13,15 @@ struct PubIDInfo {
};
/* maximum key range = 566, duplicates = 0 */
-class Perfect_Hash
-{
-private:
- static inline unsigned int hash (const char *str, unsigned int len);
-public:
- static const struct PubIDInfo *findDoctypeEntry (const char *str, unsigned int len);
-};
-
-inline unsigned int
-Perfect_Hash::hash (register const char *str, register unsigned int len)
+#ifdef __GNUC__
+__inline
+#else
+#ifdef __cplusplus
+inline
+#endif
+#endif
+static unsigned int
+hash (register const char *str, register unsigned int len)
{
static const unsigned short asso_values[] =
{
@@ -223,8 +222,11 @@ Perfect_Hash::hash (register const char *str, register unsigned int len)
return hval;
}
+#ifdef __GNUC__
+__inline
+#endif
const struct PubIDInfo *
-Perfect_Hash::findDoctypeEntry (register const char *str, register unsigned int len)
+findDoctypeEntry (register const char *str, register unsigned int len)
{
enum
{
diff --git a/WebCore/khtml/html/html_documentimpl.cpp b/WebCore/khtml/html/html_documentimpl.cpp
index 712f0eb..70e8e5a 100644
--- a/WebCore/khtml/html/html_documentimpl.cpp
+++ b/WebCore/khtml/html/html_documentimpl.cpp
@@ -73,7 +73,6 @@
#include "khtml_factory.h"
#include "rendering/render_object.h"
-#include "doctypes.cpp"
#include <dcopclient.h>
#include <kapplication.h>
@@ -93,6 +92,14 @@
#include "KWQKCookieJar.h"
#endif
+
+// Turn off inlining to avoid warning with newer gcc.
+#undef __inline
+#define __inline
+#include "doctypes.cpp"
+#undef __inline
+
+
template class QPtrStack<DOM::NodeImpl>;
using namespace DOM;
@@ -586,7 +593,7 @@ void HTMLDocumentImpl::determineParseMode( const QString &str )
const char* pubIDStr = lowerPubID.latin1();
// Look up the entry in our gperf-generated table.
- const PubIDInfo* doctypeEntry = Perfect_Hash::findDoctypeEntry(pubIDStr, publicID.length());
+ const PubIDInfo* doctypeEntry = findDoctypeEntry(pubIDStr, publicID.length());
if (!doctypeEntry) {
// The DOCTYPE is not in the list. Assume strict mode.
pMode = Strict;
diff --git a/WebCore/kwq/KWQKHTMLPart.mm b/WebCore/kwq/KWQKHTMLPart.mm
index 0f2adab..14d8914 100644
--- a/WebCore/kwq/KWQKHTMLPart.mm
+++ b/WebCore/kwq/KWQKHTMLPart.mm
@@ -927,9 +927,11 @@ bool KWQKHTMLPart::passWidgetMouseDownEventToWidget(RenderWidget *renderWidget)
// the khtml state with this mouseUp, which khtml never saw.
// If this event isn't a mouseUp, we assume that the mouseUp will be coming later. There
// is a hole here if the widget consumes the mouseUp and subsequent events.
- NSEvent *lastEvent = [NSApp currentEvent];
- if ([lastEvent type] == NSLeftMouseUp) {
- mouseUp(lastEvent);
+ NSEvent *currentEventAfterHandlingMouseDown = [NSApp currentEvent];
+ if (_currentEvent != currentEventAfterHandlingMouseDown) {
+ if ([currentEventAfterHandlingMouseDown type] == NSLeftMouseUp) {
+ mouseUp(currentEventAfterHandlingMouseDown);
+ }
}
return true;
--
WebKit Debian packaging
More information about the Pkg-webkit-commits
mailing list