[beos patch] various fixes


Subject: [beos patch] various fixes
From: Stephane Fritsch (sfritsch@noos.fr)
Date: Sun Jul 29 2001 - 12:15:16 CDT


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:




This archive was generated by hypermail 2b25 : Sun Jul 29 2001 - 12:15:17 CDT