mirror of
https://repo.dactyloidae.xyz/Dactyloidae/UXP.git
synced 2026-10-02 21:37:32 +09:00
parent
84d3b44b86
commit
6ce9cc2a25
23 changed files with 425 additions and 287 deletions
|
|
@ -1836,7 +1836,7 @@ nsImageFrame::ShouldDisplaySelection()
|
|||
int32_t thisOffset = parentContent->IndexOf(mContent);
|
||||
nsCOMPtr<nsIDOMNode> parentNode = do_QueryInterface(parentContent);
|
||||
nsCOMPtr<nsIDOMNode> rangeNode;
|
||||
int32_t rangeOffset;
|
||||
uint32_t rangeOffset;
|
||||
nsCOMPtr<nsIDOMRange> range;
|
||||
selection->GetRangeAt(0,getter_AddRefs(range));
|
||||
if (range)
|
||||
|
|
@ -1844,12 +1844,16 @@ nsImageFrame::ShouldDisplaySelection()
|
|||
range->GetStartContainer(getter_AddRefs(rangeNode));
|
||||
range->GetStartOffset(&rangeOffset);
|
||||
|
||||
if (parentNode && rangeNode && (rangeNode == parentNode) && rangeOffset == thisOffset)
|
||||
{
|
||||
if (parentNode && rangeNode && rangeNode == parentNode &&
|
||||
static_cast<int32_t>(rangeOffset) == thisOffset) {
|
||||
range->GetEndContainer(getter_AddRefs(rangeNode));
|
||||
range->GetEndOffset(&rangeOffset);
|
||||
if ((rangeNode == parentNode) && (rangeOffset == (thisOffset +1))) //+1 since that would mean this whole content is selected only
|
||||
return false; //do not allow nsFrame do draw any further selection
|
||||
// +1 since that would mean this whole content is selected only
|
||||
if (rangeNode == parentNode &&
|
||||
static_cast<int32_t>(rangeOffset) == thisOffset + 1) {
|
||||
// Do not allow nsFrame do draw any further selection
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -4119,13 +4119,15 @@ Selection::GetType(int16_t* aType)
|
|||
static inline bool
|
||||
RangeMatchesBeginPoint(nsRange* aRange, nsINode* aNode, int32_t aOffset)
|
||||
{
|
||||
return aRange->GetStartParent() == aNode && aRange->StartOffset() == aOffset;
|
||||
return aRange->GetStartParent() == aNode &&
|
||||
static_cast<int32_t>(aRange->StartOffset()) == aOffset;
|
||||
}
|
||||
|
||||
static inline bool
|
||||
RangeMatchesEndPoint(nsRange* aRange, nsINode* aNode, int32_t aOffset)
|
||||
{
|
||||
return aRange->GetEndParent() == aNode && aRange->EndOffset() == aOffset;
|
||||
return aRange->GetEndParent() == aNode &&
|
||||
static_cast<int32_t>(aRange->EndOffset()) == aOffset;
|
||||
}
|
||||
|
||||
// Selection::EqualsRangeAtPoint
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue