[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kde-commits
Subject:    KDE/kdegraphics/kolourpaint (silent)
From:       Clarence Dang <dang () kde ! org>
Date:       2007-10-07 10:40:36
Message-ID: 1191753636.116602.27162.nullmailer () svn ! kde ! org
[Download RAW message or body]

SVN commit 722444 by dang:

SVN_SILENT Add bugs #27 and #28 [to be backported to KDE3].

Also mention invariants in kpViewManager_TextCursor.cpp.




 M  +5 -0      BUGS  
 M  +2 -2      layers/selections/kpSelectionFactory.cpp  
 M  +25 -0     views/manager/kpViewManager_TextCursor.cpp  


--- trunk/KDE/kdegraphics/kolourpaint/BUGS #722443:722444
@@ -117,7 +117,12 @@
     not drawing or KolourPaint may fail to detect the release of the Enter
     key.
 
+27. InputMethod has not been tested at zoom levels other than 100%.
 
+28. KolourPaint has not been tested against invalid or malicious clipboard
+    data.
+
+
 Issue with XFree86 <= 3.3.6 with the "Emulate3Buttons" Option
 =============================================================
 
--- trunk/KDE/kdegraphics/kolourpaint/layers/selections/kpSelectionFactory.cpp #722443:722444
@@ -39,6 +39,8 @@
 
 
 // public static
+// TODO: KolourPaint has not been tested against invalid or malicious
+//       clipboard data [Bug #28].
 kpAbstractImageSelection *kpSelectionFactory::FromStream (QDataStream &stream,
         const kpPixmapFX::WarnAboutLossInfo &wali)
 {
@@ -76,8 +78,6 @@
     // Unknown selection type?
     if (imageSel == 0)
     {
-        // KDE3: TODO: You could kill KolourPaint/KDE 3 by sending a bogus selection
-        //       over the clipboard.
         return 0;
     }
 
--- trunk/KDE/kdegraphics/kolourpaint/views/manager/kpViewManager_TextCursor.cpp #722443:722444
@@ -2,6 +2,19 @@
 // TODO: This is bad design as it's easy to get out of sync with the selection.
 //       e.g. You could have textCursorEnabled() but no text selection or
 //       vice versa.  And the cursor could be outside of the selection.
+//
+//       In fact, out text commands momentarily violate these "invariants":
+//
+//       1. A text box with content must have the cursor somewhere on an
+//          existing text line, possibly 1 position after the last character
+//          on a line.
+//
+//       2. Special case: A content-less text box (i.e. no text lines) must
+//          have the cursor at (0,0).
+//
+//       We don't assert-check them at the moment.  We should when we fix
+//       the design so that the invariants are always maintained.
+
 /*
    Copyright (c) 2003-2007 Clarence Dang <dang@kde.org>
    Copyright (c) 2005 Kazuki Ohta <mover@hct.zaq.ne.jp>
@@ -160,6 +173,18 @@
         if (!d->viewUnderCursor)
             return;
 
+        // TODO: I think you need to consider zooming e.g. try editing
+        //       text at 800% or with focus set to the thumbnail.
+        //       kpSelection/kpDocument works fully in unzoomed
+        //       coordinates unlike the view (which is zoomed and can
+        //       change size).
+        //
+        //       To fix it here, I think you should call
+        //       m_viewUnderCursor->transformDocToView(QRect).  However,
+        //       the rest of the InputMethod support still needs to
+        //       audited for this.
+        //
+        //       [Bug #27]
         d->viewUnderCursor->updateMicroFocusHint (r);
     }
 #endif
[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic