X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/5ad9ae3a29787f4cdf6dfc1c69d77fedfa2f4c73..18f42b94df62068a19258b96ac7f569d4d3ba400:/src/richtext/richtextbuffer.cpp diff --git a/src/richtext/richtextbuffer.cpp b/src/richtext/richtextbuffer.cpp index 0473d2f20e..924074a586 100644 --- a/src/richtext/richtextbuffer.cpp +++ b/src/richtext/richtextbuffer.cpp @@ -3607,7 +3607,7 @@ bool wxRichTextParagraph::Layout(wxDC& dc, const wxRect& rect, int style) wxArrayInt partialExtents; wxSize paraSize; - int paraDescent; + int paraDescent = 0; // This calculates the partial text extents GetRangeSize(GetRange(), paraSize, paraDescent, dc, wxRICHTEXT_UNFORMATTED|wxRICHTEXT_CACHE_SIZE, wxPoint(0,0), & partialExtents); @@ -5117,7 +5117,7 @@ bool wxRichTextPlainText::DrawTabbedString(wxDC& dc, const wxRichTextAttr& attr, dc.SetBackgroundMode(wxBRUSHSTYLE_TRANSPARENT); } - wxCoord x_orig = x; + wxCoord x_orig = GetParent()->GetPosition().x; while (hasTabs) { // the string has a tab @@ -5216,6 +5216,7 @@ bool wxRichTextPlainText::GetRangeSize(const wxRichTextRange& range, wxSize& siz wxRichTextParagraph* para = wxDynamicCast(GetParent(), wxRichTextParagraph); wxASSERT (para != NULL); + int relativeX = position.x - GetParent()->GetPosition().x; wxRichTextAttr textAttr(para ? para->GetCombinedAttributes(GetAttributes()) : GetAttributes()); @@ -5302,9 +5303,9 @@ bool wxRichTextPlainText::GetRangeSize(const wxRichTextRange& range, wxSize& siz partialExtents->Add(oldWidth + p[j]); if (partialExtents->GetCount() > 0) - absoluteWidth = (*partialExtents)[(*partialExtents).GetCount()-1] + position.x; + absoluteWidth = (*partialExtents)[(*partialExtents).GetCount()-1] + relativeX; else - absoluteWidth = position.x; + absoluteWidth = relativeX; } else { @@ -5331,7 +5332,7 @@ bool wxRichTextPlainText::GetRangeSize(const wxRichTextRange& range, wxSize& siz } notFound = false; - width = nextTabPos - position.x; + width = nextTabPos - relativeX; if (partialExtents) partialExtents->Add(width); @@ -6535,7 +6536,11 @@ bool wxRichTextBuffer::PasteFromClipboard(long position) delete richTextBuffer; } } - else if (wxTheClipboard->IsSupported(wxDF_TEXT) || wxTheClipboard->IsSupported(wxDF_UNICODETEXT)) + else if (wxTheClipboard->IsSupported(wxDF_TEXT) +#if wxUSE_UNICODE + || wxTheClipboard->IsSupported(wxDF_UNICODETEXT) +#endif // wxUSE_UNICODE + ) { wxTextDataObject data; wxTheClipboard->GetData(data); @@ -6599,9 +6604,12 @@ bool wxRichTextBuffer::CanPasteFromClipboard() const #if wxUSE_CLIPBOARD && wxUSE_DATAOBJ if (!wxTheClipboard->IsOpened() && wxTheClipboard->Open()) { - if (wxTheClipboard->IsSupported(wxDF_TEXT) || wxTheClipboard->IsSupported(wxDF_UNICODETEXT) || - wxTheClipboard->IsSupported(wxDataFormat(wxRichTextBufferDataObject::GetRichTextBufferFormatId())) || - wxTheClipboard->IsSupported(wxDF_BITMAP)) + if (wxTheClipboard->IsSupported(wxDF_TEXT) +#if wxUSE_UNICODE + || wxTheClipboard->IsSupported(wxDF_UNICODETEXT) +#endif // wxUSE_UNICODE + || wxTheClipboard->IsSupported(wxDataFormat(wxRichTextBufferDataObject::GetRichTextBufferFormatId())) + || wxTheClipboard->IsSupported(wxDF_BITMAP)) { canPaste = true; } @@ -7837,7 +7845,7 @@ bool wxRichTextImageBlock::DoMakeImageBlock(const wxImage& image, wxBitmapType i unsigned char* block = new unsigned char[memStream.GetSize()]; if (!block) - return NULL; + return false; if (m_data) delete[] m_data;