Remove unnecessary (and problematic) copy-constructor from LayoutUnit
authorcommit-queue@webkit.org <commit-queue@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Tue, 19 Feb 2013 19:10:45 +0000 (19:10 +0000)
committercommit-queue@webkit.org <commit-queue@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Tue, 19 Feb 2013 19:10:45 +0000 (19:10 +0000)
https://bugs.webkit.org/show_bug.cgi?id=110121

This copy constructor does what a default copy constructor would do, so
it's not necessary. Furthermore, this copy constructor is the only
reason why LayoutUnit becomes non-POD, and that triggers a gdb bug,
making it impossible to do things like "print location()" when inside
some RenderBlock, for instance.

Gdb bug http://sourceware.org/bugzilla/show_bug.cgi?id=15154 reported.

Patch by Morten Stenshorne <mstensho@opera.com> on 2013-02-19
Reviewed by Benjamin Poulain.

No tests. Apart from dealing with buggy debuggers, this is just code cleanup.

* platform/LayoutUnit.h:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@143361 268f45cc-cd09-0410-ab3c-d52691b4dbfc

Source/WebCore/ChangeLog
Source/WebCore/platform/LayoutUnit.h

index 0d5c9f0216cd4f31349ce90070e876bc74b54d17..3ba2007403f59df9f169bac6cecc8d68f1dfdb83 100644 (file)
@@ -1,3 +1,22 @@
+2013-02-19  Morten Stenshorne  <mstensho@opera.com>
+
+        Remove unnecessary (and problematic) copy-constructor from LayoutUnit
+        https://bugs.webkit.org/show_bug.cgi?id=110121
+
+        This copy constructor does what a default copy constructor would do, so
+        it's not necessary. Furthermore, this copy constructor is the only
+        reason why LayoutUnit becomes non-POD, and that triggers a gdb bug,
+        making it impossible to do things like "print location()" when inside
+        some RenderBlock, for instance.
+
+        Gdb bug http://sourceware.org/bugzilla/show_bug.cgi?id=15154 reported.
+
+        Reviewed by Benjamin Poulain.
+
+        No tests. Apart from dealing with buggy debuggers, this is just code cleanup.
+
+        * platform/LayoutUnit.h:
+
 2013-02-19  Emil A Eklund  <eae@chromium.org>
 
         LayoutUnit::epsilon shouldn't be necessary to place floats
index 1c5adfb3e82c607357997a4bccfa0f29fbabf5f2..9237f42aa79ed56ada465073df81ccc0d385990e 100644 (file)
@@ -116,7 +116,6 @@ public:
     LayoutUnit(float value) { REPORT_OVERFLOW(isInBounds(value)); m_value = value; }
     LayoutUnit(double value) { REPORT_OVERFLOW(isInBounds(value)); m_value = value; }
 #endif
-    LayoutUnit(const LayoutUnit& value) { m_value = value.rawValue(); }
 
     static LayoutUnit fromFloatCeil(float value)
     {