hello,

Here is a patch for beos files :

- fixes an UT_SHOULD_NOT_HAPPEN that... happens when entering in a view
with a mouse button pressed (eg, dragging the scroll bar too far) 
because
of unintiallized variables
- fixes the top ruler. When dragging the indent, random values were 
set.
- build fixes after clean up in src/af/gr/xp

Stephane
Index: src/af/ev/beos/ev_BeOSMouse.cpp
===================================================================
RCS file: /cvsroot/abi/src/af/ev/beos/ev_BeOSMouse.cpp,v
retrieving revision 1.5
diff -u -r1.5 ev_BeOSMouse.cpp
--- src/af/ev/beos/ev_BeOSMouse.cpp     2001/02/06 22:53:50     1.5
+++ src/af/ev/beos/ev_BeOSMouse.cpp     2001/07/29 16:59:03
@@ -73,7 +73,8 @@
 
 ev_BeOSMouse::ev_BeOSMouse(EV_EditEventMapper * pEEM) : EV_Mouse(pEEM)
 {
-       ; //Do nothing yet ...
+       m_clickState = 0;
+       m_contextState = 0;
 }
 
 bool ev_BeOSMouse::synthesize(XAP_BeOSApp * pBeOSApp, 
@@ -107,8 +108,8 @@
        msg->FindInt32("buttons", &buttons);
        msg->FindInt32("modifiers", &mod);
        msg->FindPoint("where", &pt);
-
-       //printf("MOUSE: Up \n");
+       
+//     UT_DEBUGMSG(("mouseUp: [x=%f y=%f]\n",pt.x, pt.y));
 
        if (mod & B_SHIFT_KEY)
                ems |= EV_EMS_SHIFT;
@@ -171,7 +172,7 @@
        msg->FindInt32("modifiers", &mod);
        msg->FindPoint("where", &pt);
 
-       //printf("MOUSE: Click \n");
+//     UT_DEBUGMSG(("mouseClick: [x=%f y=%f]\n",pt.x, pt.y));
 
        if (buttons & B_PRIMARY_MOUSE_BUTTON)
                emb = EV_EMB_BUTTON1;
@@ -187,6 +188,7 @@
        if (mod & B_OPTION_KEY)
                state |= EV_EMS_ALT;
 
+       mop = 0;
        if (clicks == 1)
                mop = EV_EMO_SINGLECLICK;
        else if (clicks == 2)
@@ -243,11 +245,9 @@
        msg->FindInt32("clicks", &clicks);
        msg->FindInt32("buttons", &buttons);
        msg->FindInt32("modifiers", &mod);
-       //Note with R4 the where became a screen point, use view_where
-       //msg->FindPoint("where", &pt);
        msg->FindPoint("be:view_where", &pt);
 
-       //printf("MOUSE: Move \n");
+//     UT_DEBUGMSG(("mouseMotion: [x=%f y=%f]\n",pt.x, pt.y));
        
        if (buttons & B_PRIMARY_MOUSE_BUTTON)
                emb = EV_EMB_BUTTON1;
Index: src/af/gr/beos/gr_BeOSImage.cpp
===================================================================
RCS file: /cvsroot/abi/src/af/gr/beos/gr_BeOSImage.cpp,v
retrieving revision 1.6
diff -u -r1.6 gr_BeOSImage.cpp
--- src/af/gr/beos/gr_BeOSImage.cpp     2001/07/06 16:29:27     1.6
+++ src/af/gr/beos/gr_BeOSImage.cpp     2001/07/29 16:59:04
@@ -35,10 +35,10 @@
        m_image = NULL;
        
        if (szName) {
-         m_szName = szName;
+         setName(szName);
        }
        else {
-         m_szName = "BeOSImage";
+         setName("BeOSImage");
        }
 }
 
@@ -50,11 +50,11 @@
 }
 
 UT_sint32 GR_BeOSImage::getDisplayWidth(void) const {
-       return (m_image) ? m_image->Bounds().Width() : 0;
+       return (m_image) ? ((UT_sint32)m_image->Bounds().Width()) : 0;
 }
 
 UT_sint32 GR_BeOSImage::getDisplayHeight(void) const {
-       return (m_image) ? m_image->Bounds().Height() : 0;
+       return (m_image) ? ((UT_sint32)m_image->Bounds().Height()) : 0;
 }
 
 bool   GR_BeOSImage::convertToBuffer(UT_ByteBuf** ppBB) const {
Index: src/wp/ap/beos/ap_BeOSFrame.cpp
===================================================================
RCS file: /cvsroot/abi/src/wp/ap/beos/ap_BeOSFrame.cpp,v
retrieving revision 1.36
diff -u -r1.36 ap_BeOSFrame.cpp
--- src/wp/ap/beos/ap_BeOSFrame.cpp     2001/05/01 01:21:08     1.36
+++ src/wp/ap/beos/ap_BeOSFrame.cpp     2001/07/29 16:59:15
@@ -202,9 +202,16 @@
        // views, like we do for all the other objects.  We also do not
        // allocate the TopRuler, LeftRuler  here; that is done as the
        // frame is created.
-       ((AP_FrameData*)m_pData)->m_pTopRuler->setView(pView);
-       ((AP_FrameData*)m_pData)->m_pLeftRuler->setView(pView);
-       ((AP_FrameData*)m_pData)->m_pStatusBar->setView(pView);
+       if ( ((AP_FrameData*)m_pData)->m_bShowRuler )
+       {
+               if ( ((AP_FrameData*)m_pData)->m_pTopRuler )
+                       ((AP_FrameData*)m_pData)->m_pTopRuler->setView(pView, iZoom);
+               if ( ((AP_FrameData*)m_pData)->m_pLeftRuler )
+                       ((AP_FrameData*)m_pData)->m_pLeftRuler->setView(pView, iZoom);
+       }                      
+
+        if ( ((AP_FrameData*)m_pData)->m_pStatusBar )
+               ((AP_FrameData*)m_pData)->m_pStatusBar->setView(pView);  
 
        pView->setInsertMode(((AP_FrameData*)m_pData)->m_bInsertMode);
     ((FV_View *) m_pView)->setShowPara(((AP_FrameData*)m_pData)->m_bShowPara);
@@ -734,6 +741,19 @@
                pToolbar->show();
        else    // turning toolbar off
                pToolbar->hide();
+}
+
+void AP_BeOSFrame::toggleStatusBar(bool bStatusBarOn)
+{
+        UT_DEBUGMSG(("AP_BeOSFrame::toggleStatusBar %d\n", bStatusBarOn));
+
+        AP_FrameData *pFrameData = static_cast<AP_FrameData *> (getFrameData());
+        UT_ASSERT(pFrameData);
+
+        if (bStatusBarOn)
+                pFrameData->m_pStatusBar->show();
+        else    // turning status bar off
+                pFrameData->m_pStatusBar->hide();
 }
 
 void AP_BeOSFrame::toggleRuler(bool bRulerOn)
Index: src/wp/ap/beos/ap_BeOSFrame.h
===================================================================
RCS file: /cvsroot/abi/src/wp/ap/beos/ap_BeOSFrame.h,v
retrieving revision 1.10
diff -u -r1.10 ap_BeOSFrame.h
--- src/wp/ap/beos/ap_BeOSFrame.h       2001/05/01 01:21:08     1.10
+++ src/wp/ap/beos/ap_BeOSFrame.h       2001/07/29 16:59:16
@@ -51,6 +51,7 @@
        virtual void                            toggleTopRuler(bool bRulerOn);
        virtual void                            toggleLeftRuler(bool bRulerOn);
        virtual void                            toggleBar(UT_uint32 iBarNb, bool 
bToolBarOn);
+       virtual void                            toggleStatusBar(bool bStatusBarOn);
        virtual void                            translateDocumentToScreen(UT_sint32 
&x, UT_sint32 &y);
 
 protected:

BeOS Attributes

Reply via email to