Skip to content

Commit 8640406

Browse files
committed
Merge: These apis can take null
1 parent 8720906 commit 8640406

2 files changed

Lines changed: 22 additions & 11 deletions

File tree

merge.cpp

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -145,9 +145,9 @@ Ref<DiffObject> DiffState::GenerateDiff(
145145
{
146146
BNDiffObject* diff = BNDiffStateGenerateDiff(
147147
m_object,
148-
base->GetObject(),
149-
left->GetObject(),
150-
right->GetObject()
148+
base ? base->GetObject() : nullptr,
149+
left ? left->GetObject() : nullptr,
150+
right ? right->GetObject() : nullptr
151151
);
152152

153153
if (!diff)
@@ -169,9 +169,9 @@ bool DiffState::ApplyDiff(
169169
return BNDiffStateApplyDiff(
170170
m_object,
171171
diff->GetObject(),
172-
base->GetObject(),
173-
left->GetObject(),
174-
right->GetObject(),
172+
base ? base->GetObject() : nullptr,
173+
left ? left->GetObject() : nullptr,
174+
right ? right->GetObject() : nullptr,
175175
result->GetObject()
176176
);
177177
}

python/database.py

Lines changed: 16 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -484,23 +484,34 @@ def clear_errors(self):
484484
core.BNClearDiffStateErrors(self.handle)
485485

486486
def generate_diff(
487-
self, base: DatabaseObject, left: DatabaseObject, right: DatabaseObject
487+
self, base: Optional[DatabaseObject], left: Optional[DatabaseObject], right: Optional[DatabaseObject]
488488
) -> Optional['DiffObject']:
489489
"""Generate a three-way diff database objects"""
490490
handle = core.BNDiffStateGenerateDiff(
491-
self.handle, base.handle, left.handle, right.handle
491+
self.handle,
492+
base.handle if base is not None else None,
493+
left.handle if left is not None else None,
494+
right.handle if right is not None else None
492495
)
493496
if handle is None:
494497
return None
495498
return DiffObject(handle=handle)
496499

497500
def apply_diff(
498-
self, diff: 'DiffObject', base: DatabaseObject, left: DatabaseObject,
499-
right: DatabaseObject, result: DatabaseObject
501+
self,
502+
diff: 'DiffObject',
503+
base: Optional[DatabaseObject],
504+
left: Optional[DatabaseObject],
505+
right: Optional[DatabaseObject],
506+
result: DatabaseObject
500507
) -> bool:
501508
"""Apply a diff to database objects"""
502509
return core.BNDiffStateApplyDiff(
503-
self.handle, diff.handle, base.handle, left.handle, right.handle,
510+
self.handle,
511+
diff.handle,
512+
base.handle if base is not None else None,
513+
left.handle if left is not None else None,
514+
right.handle if right is not None else None,
504515
result.handle
505516
)
506517

0 commit comments

Comments
 (0)