minor changes (fixing crash on mouse click)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@2760 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
parent
55021f25ff
commit
02fe546f1f
@ -1852,8 +1852,11 @@ wxLayoutList::MoveCursorWord(int n, bool untilNext)
|
||||
}
|
||||
else // backwards
|
||||
{
|
||||
if ( isspace(*p) )
|
||||
// in these 2 cases we took 1 char too much
|
||||
if ( (p < start) || isspace(*p) )
|
||||
{
|
||||
p++;
|
||||
}
|
||||
}
|
||||
|
||||
n > 0 ? n-- : n++;
|
||||
@ -1964,7 +1967,7 @@ wxLayoutList::LineBreak(void)
|
||||
if(prev)
|
||||
height += prev->GetHeight();
|
||||
height += m_CursorLine->GetHeight();
|
||||
|
||||
|
||||
m_movedCursor = true;
|
||||
|
||||
SetUpdateRect(position);
|
||||
@ -2172,7 +2175,8 @@ wxLayoutList::Layout(wxDC &dc, CoordType bottom, bool forceAll,
|
||||
if(cpos && line ->GetLineNumber() == cpos->y)
|
||||
{
|
||||
*cpos = m_CursorScreenPos;
|
||||
*csize = m_CursorSize;
|
||||
if ( csize )
|
||||
*csize = m_CursorSize;
|
||||
}
|
||||
}
|
||||
else
|
||||
|
@ -210,6 +210,14 @@ wxLayoutWindow::Clear(int family,
|
||||
DoPaint((wxRect *)NULL);
|
||||
}
|
||||
|
||||
void wxLayoutWindow::Refresh(bool eraseBackground, const wxRect *rect)
|
||||
{
|
||||
wxScrolledWindow::Refresh(eraseBackground, rect);
|
||||
|
||||
ResizeScrollbars();
|
||||
ScrollToCursor();
|
||||
}
|
||||
|
||||
void
|
||||
wxLayoutWindow::OnMouse(int eventId, wxMouseEvent& event)
|
||||
{
|
||||
@ -288,7 +296,16 @@ wxLayoutWindow::OnMouse(int eventId, wxMouseEvent& event)
|
||||
case WXLOWIN_MENU_LDOWN:
|
||||
{
|
||||
// always move cursor to mouse click:
|
||||
m_llist->MoveCursorTo(cursorPos);
|
||||
if ( obj )
|
||||
{
|
||||
// we have found the real position
|
||||
m_llist->MoveCursorTo(cursorPos);
|
||||
}
|
||||
else
|
||||
{
|
||||
// click beyond the end of the text
|
||||
m_llist->MoveCursorTo(m_llist->GetSize());
|
||||
}
|
||||
|
||||
// clicking a mouse removes the selection
|
||||
if ( m_llist->HasSelection() )
|
||||
|
@ -68,6 +68,11 @@ public:
|
||||
int underline=0,
|
||||
wxColour *fg=NULL,
|
||||
wxColour *bg=NULL);
|
||||
|
||||
/// override base class virtual to also refresh the scrollbar position
|
||||
virtual void Refresh(bool eraseBackground = TRUE,
|
||||
const wxRect *rect = (const wxRect *)NULL);
|
||||
|
||||
/** Sets a background image, only used on screen, not on printouts.
|
||||
@param bitmap a pointer to a wxBitmap or NULL to remove it
|
||||
*/
|
||||
|
Loading…
Reference in New Issue
Block a user