On Mon, 2011-01-10 at 14:01 +0100, Maximilian Odendahl wrote:
> Hi,
> 
>  > max, do you remember the code in the postits that the attached patch
>  > affects, can you remember what the problem was that needed fixing ?
> 
> no, I don't remember why this is needed, but I don't think this is the 
> right patch for two reasons:
> 
> - it is a regression from 3.2.1, where no change in the post-it codes 
> happened, therefore, a different change must have broken this
> 
> - the code in question is inside LayoutPostIts(), and I guess is 
> correct. I believe a relayout of the postit notes should not happen in 
> the first place if a user simply scrolls, so this code in question would 
> never be hit.

Here's the change that triggered this... 

Do you think we should just revert this bit, without it we get the
original scroll behaviour again.

C.
diff --git a/sw/source/core/view/viewsh.cxx b/sw/source/core/view/viewsh.cxx
index 72dcebc..132b1ad 100644
--- a/sw/source/core/view/viewsh.cxx
+++ b/sw/source/core/view/viewsh.cxx
@@ -1105,6 +1105,15 @@ void ViewShell::VisPortChgd( const SwRect &rRect)
         pPostItMgr->LayoutPostIts();
     }
 
+    // --> OD 2010-02-11 #i88070#
+    if ( pPostItMgr )
+    {
+        pPostItMgr->Rescale();
+        pPostItMgr->CalcRects();
+        pPostItMgr->LayoutPostIts();
+    }
+    // <--
+
     if ( !bScrolled && pPostItMgr && pPostItMgr->HasNotes() && pPostItMgr->ShowNotes() )
         pPostItMgr->CorrectPositions();
 
diff --git a/sw/source/ui/docvw/PostItMgr.cxx b/sw/source/ui/docvw/PostItMgr.cxx
index 83968df..f3013e8 100644
--- a/sw/source/ui/docvw/PostItMgr.cxx
+++ b/sw/source/ui/docvw/PostItMgr.cxx
@@ -89,6 +89,8 @@
 
 #include "swevent.hxx"
 
+#include <stdio.h>
+
 // distance between Anchor Y and initial note position
 #define POSTIT_INITIAL_ANCHOR_DISTANCE      20
 //distance between two postits
@@ -266,6 +268,9 @@ void SwPostItMgr::Notify( SfxBroadcaster& rBC, const SfxHint& rHint )
             }
             case SFX_HINT_DOCCHANGED:
             {
+
+                fprintf(stderr, "SFX_HINT_DOCCHANGED\n");
+
                 if ( mpView->GetDocShell() == &rBC )
                 {
                     if ( !mbWaitingForCalcRects && !mvPostItFlds.empty())
@@ -558,6 +563,8 @@ void SwPostItMgr::PreparePageContainer()
 
 void SwPostItMgr::LayoutPostIts()
 {
+    fprintf(stderr, "SwPostItMgr::LayoutPostIts\n");
+
     if ( !mvPostItFlds.empty() && !mbWaitingForCalcRects )
     {
         mbLayouting = true;
_______________________________________________
LibreOffice mailing list
LibreOffice@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/libreoffice

Reply via email to