[mono/monodevelop] [3 commits] 14524b05: [SourceEditor] Fixed potential null reference exception.

Mike Krüger ([email protected]) <[email protected]> Mon, 25 Nov 2013 09:53:11 +0000
Newsgroups gmane.comp.gnome.mono.patches
Message-ID <000001428ead4d01-23a837ab-b11a-4d58-b856-43238ccccb0f-000000@email.amazonses.com>
DQogICBCcmFuY2g6IHJlZnMvaGVhZHMvbWFzdGVyDQogICAgIEhvbWU6IGh0dHBzOi8vZ2l0aHVi
LmNvbS9tb25vL21vbm9kZXZlbG9wDQogIENvbXBhcmU6IGh0dHBzOi8vZ2l0aHViLmNvbS9tb25v
L21vbm9kZXZlbG9wL2NvbXBhcmUvZDIyY2NiZWYxZGIwLi4uN2M3NWE2MGM0MWEzDQoNCiAgIENv
bW1pdDogMTQ1MjRiMDUzODVlMGIyZmUwZTIwYTk1NDlkYjI3NzMzMjQ1YTlhYg0KICAgQXV0aG9y
OiBNaWtlIEtyw7xnZXIgPG1rcnVlZ2VyQHhhbWFyaW4uY29tPiAobWtydWVnZXIpDQogICAgIERh
dGU6IDIwMTMtMTEtMjUgMDY6NTA6NDAgR01UDQogICAgICBVUkw6IGh0dHBzOi8vZ2l0aHViLmNv
bS9tb25vL21vbm9kZXZlbG9wL2NvbW1pdC8xNDUyNGIwNTM4NWUwYjJmZTBlMjBhOTU0OWRiMjc3
MzMyNDVhOWFiDQoNCltTb3VyY2VFZGl0b3JdIEZpeGVkIHBvdGVudGlhbCBudWxsIHJlZmVyZW5j
ZSBleGNlcHRpb24uDQoNCkNoYW5nZWQgcGF0aHM6CiAgTSBtYWluL3NyYy9hZGRpbnMvTW9ub0Rl
dmVsb3AuU291cmNlRWRpdG9yMi9Nb25vRGV2ZWxvcC5Tb3VyY2VFZGl0b3IvU291cmNlRWRpdG9y
V2lkZ2V0LmNzCg0KTW9kaWZpZWQ6IG1haW4vc3JjL2FkZGlucy9Nb25vRGV2ZWxvcC5Tb3VyY2VF
ZGl0b3IyL01vbm9EZXZlbG9wLlNvdXJjZUVkaXRvci9Tb3VyY2VFZGl0b3JXaWRnZXQuY3MNCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0NCkBAIC0xNzIwLDEyICsxNzIwLDE0IEBAIHB1YmxpYyBFcnJvck1hcmtlciAoVGV4
dERvY3VtZW50IGRvYywgRXJyb3IgaW5mbywgRG9jdW1lbnRMaW5lIGxpbmUpCiAJCQlXYXZlID0g
dHJ1ZTsKIAkJCQogCQkJU3RhcnRDb2wgPSBJbmZvLlJlZ2lvbi5CZWdpbkNvbHVtbjsKLQkJCXZh
ciBzdGFydE9mZnNldCA9IGxpbmUuT2Zmc2V0OwotCQkJd2hpbGUgKFN0YXJ0Q29sIDwgbGluZS5M
ZW5ndGgpIHsKLQkJCQljaGFyIGNoID0gZG9jLkdldENoYXJBdCAoc3RhcnRPZmZzZXQgKyBTdGFy
dENvbCAtIDEpOwotCQkJCWlmICghY2hhci5Jc1doaXRlU3BhY2UgKGNoKSkKLQkJCQkJYnJlYWs7
Ci0JCQkJU3RhcnRDb2wrKzsKKwkJCWlmIChsaW5lICE9IG51bGwpIHsKKwkJCQl2YXIgc3RhcnRP
ZmZzZXQgPSBsaW5lLk9mZnNldDsKKwkJCQl3aGlsZSAoU3RhcnRDb2wgPCBsaW5lLkxlbmd0aCkg
eworCQkJCQljaGFyIGNoID0gZG9jLkdldENoYXJBdCAoc3RhcnRPZmZzZXQgKyBTdGFydENvbCAt
IDEpOworCQkJCQlpZiAoIWNoYXIuSXNXaGl0ZVNwYWNlIChjaCkpCisJCQkJCQlicmVhazsKKwkJ
CQkJU3RhcnRDb2wrKzsKKwkJCQl9CiAJCQl9CiAKIAkJCWlmIChJbmZvLlJlZ2lvbi5FbmRDb2x1
bW4gPiBTdGFydENvbCkgew0KDQogICBDb21taXQ6IDczMmYyOTIxNTMwZTk1ZGIyZmMwNTg5Njky
OGU4MzBiZmMyZjY1ZmQNCiAgIEF1dGhvcjogTWlrZSBLcsO8Z2VyIDxta3J1ZWdlckB4YW1hcmlu
LmNvbT4gKG1rcnVlZ2VyKQ0KICAgICBEYXRlOiAyMDEzLTExLTI1IDA3OjAyOjUzIEdNVA0KICAg
ICAgVVJMOiBodHRwczovL2dpdGh1Yi5jb20vbW9uby9tb25vZGV2ZWxvcC9jb21taXQvNzMyZjI5
MjE1MzBlOTVkYjJmYzA1ODk2OTI4ZTgzMGJmYzJmNjVmZA0KDQpGaXhlZCAnQnVnIDE2NDExIC0g
WGFtYXJpbiBTdHVkaW8gRXJyb3IKcG9wLXVwOlRhcmdldEludm9jYXRpb25FeGNlcHRpb24nLg0K
DQpDaGFuZ2VkIHBhdGhzOgogIE0gbWFpbi9zcmMvYWRkaW5zL01vbm9EZXZlbG9wLlNvdXJjZUVk
aXRvcjIvTW9ub0RldmVsb3AuU291cmNlRWRpdG9yL1NvdXJjZUVkaXRvclZpZXcuY3MKICBNIG1h
aW4vc3JjL2NvcmUvTW9ub0RldmVsb3AuSWRlL01vbm9EZXZlbG9wLklkZS5HdWkuQ29udGVudC9D
b21wbGV0aW9uVGV4dEVkaXRvckV4dGVuc2lvbi5jcwoNCk1vZGlmaWVkOiBtYWluL3NyYy9hZGRp
bnMvTW9ub0RldmVsb3AuU291cmNlRWRpdG9yMi9Nb25vRGV2ZWxvcC5Tb3VyY2VFZGl0b3IvU291
cmNlRWRpdG9yVmlldy5jcw0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0KQEAgLTE3NzksMTkgKzE3NzksMjEgQEAgcHVi
bGljIHZvaWQgUmVwbGFjZSAoaW50IG9mZnNldCwgaW50IGNvdW50LCBzdHJpbmcgdGV4dCkKIAkJ
CiAJCXB1YmxpYyBDb2RlQ29tcGxldGlvbkNvbnRleHQgQ3JlYXRlQ29kZUNvbXBsZXRpb25Db250
ZXh0IChpbnQgdHJpZ2dlck9mZnNldCkKIAkJewotCQkJQ29kZUNvbXBsZXRpb25Db250ZXh0IHJl
c3VsdCA9IG5ldyBDb2RlQ29tcGxldGlvbkNvbnRleHQgKCk7CisJCQl2YXIgcmVzdWx0ID0gbmV3
IENvZGVDb21wbGV0aW9uQ29udGV4dCAoKTsKKwkJCWlmICh3aWRnZXQgPT0gbnVsbCkKKwkJCQly
ZXR1cm4gcmVzdWx0OworCQkJdmFyIGVkaXRvciA9IHdpZGdldC5UZXh0RWRpdG9yOworCQkJaWYg
KGVkaXRvciA9PSBudWxsKQorCQkJCXJldHVybiByZXN1bHQ7CiAJCQlyZXN1bHQuVHJpZ2dlck9m
ZnNldCA9IHRyaWdnZXJPZmZzZXQ7Ci0JCQlEb2N1bWVudExvY2F0aW9uIGxvYyA9IHdpZGdldC5U
ZXh0RWRpdG9yLkNhcmV0LkxvY2F0aW9uOworCQkJdmFyIGxvYyA9IGVkaXRvci5DYXJldC5Mb2Nh
dGlvbjsKIAkJCXJlc3VsdC5UcmlnZ2VyTGluZSA9IGxvYy5MaW5lOwogCQkJcmVzdWx0LlRyaWdn
ZXJMaW5lT2Zmc2V0ID0gbG9jLkNvbHVtbiAtIDE7Ci0vKgkJCXZhciBwID0gbmV3IENhaXJvLlBv
aW50ICgoaW50KXRoaXMud2lkZ2V0LlRleHRFZGl0b3IuVGV4dFZpZXdNYXJnaW4uQ2FyZXRWaXN1
YWxMb2NhdGlvbi5YLAotCQkJICAgICAgICAgICAgICAgICAgICAgICAgIChpbnQpdGhpcy53aWRn
ZXQuVGV4dEVkaXRvci5UZXh0Vmlld01hcmdpbi5DYXJldFZpc3VhbExvY2F0aW9uLlkpOwotCQkJ
aWYgKHdpZGdldC5UZXh0RWRpdG9yLkNhcmV0LkxvY2F0aW9uLkNvbHVtbiA9PSBsb2MuQ29sdW1u
KSovCiAJCQl2YXIgcCA9IHRoaXMud2lkZ2V0LlRleHRFZGl0b3IuTG9jYXRpb25Ub1BvaW50IChs
b2MpOwogCQkJaW50IHR4LCB0eTsKLQkJCXdpZGdldC5UZXh0RWRpdG9yLlBhcmVudFdpbmRvdy5H
ZXRPcmlnaW4gKG91dCB0eCwgb3V0IHR5KTsKLQkJCXR4ICs9IHdpZGdldC5UZXh0RWRpdG9yLkFs
bG9jYXRpb24uWCArIChpbnQpcC5YOwotCQkJdHkgKz0gd2lkZ2V0LlRleHRFZGl0b3IuQWxsb2Nh
dGlvbi5ZICsgKGludClwLlkgKyAoaW50KVRleHRFZGl0b3IuTGluZUhlaWdodDsKKwkJCWVkaXRv
ci5QYXJlbnRXaW5kb3cuR2V0T3JpZ2luIChvdXQgdHgsIG91dCB0eSk7CisJCQl0eCArPSBlZGl0
b3IuQWxsb2NhdGlvbi5YICsgcC5YOworCQkJdHkgKz0gZWRpdG9yLkFsbG9jYXRpb24uWSArIHAu
WSArIChpbnQpZWRpdG9yLkxpbmVIZWlnaHQ7CiAKIAkJCXJlc3VsdC5UcmlnZ2VyWENvb3JkID0g
dHg7CiAJCQlyZXN1bHQuVHJpZ2dlcllDb29yZCA9IHR5Ow0KDQpNb2RpZmllZDogbWFpbi9zcmMv
Y29yZS9Nb25vRGV2ZWxvcC5JZGUvTW9ub0RldmVsb3AuSWRlLkd1aS5Db250ZW50L0NvbXBsZXRp
b25UZXh0RWRpdG9yRXh0ZW5zaW9uLmNzDQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09DQpAQCAtMjY2LDEzICsyNjYsMTcg
QEAgaW50ZXJuYWwgdm9pZCBPblVwZGF0ZVNob3dDb2RlVGVtcGxhdGVzV2luZG93IChDb21tYW5k
SW5mbyBpbmZvKQogCQkJCWNwb3MgPSBFZGl0b3IuQ2FyZXQuT2Zmc2V0OwogCQkJCXdsZW4gPSAw
OwogCQkJfQotCQkJCi0JCQl2YXIgY3R4ID0gQ29tcGxldGlvbldpZGdldC5DcmVhdGVDb2RlQ29t
cGxldGlvbkNvbnRleHQgKGNwb3MpOwotCQkJY3R4LlRyaWdnZXJXb3JkTGVuZ3RoID0gd2xlbjsK
LQkJCWNvbXBsZXRpb25MaXN0ID0gRG9jdW1lbnQuRWRpdG9yLklzU29tZXRoaW5nU2VsZWN0ZWQg
PyBTaG93Q29kZVN1cnJvdW5kaW5nc0NvbW1hbmQgKGN0eCkgOiBTaG93Q29kZVRlbXBsYXRlc0Nv
bW1hbmQgKGN0eCk7CisJCQl0cnkgeworCQkJCXZhciBjdHggPSBDb21wbGV0aW9uV2lkZ2V0LkNy
ZWF0ZUNvZGVDb21wbGV0aW9uQ29udGV4dCAoY3Bvcyk7CisJCQkJY3R4LlRyaWdnZXJXb3JkTGVu
Z3RoID0gd2xlbjsKKwkJCQljb21wbGV0aW9uTGlzdCA9IERvY3VtZW50LkVkaXRvci5Jc1NvbWV0
aGluZ1NlbGVjdGVkID8gU2hvd0NvZGVTdXJyb3VuZGluZ3NDb21tYW5kIChjdHgpIDogU2hvd0Nv
ZGVUZW1wbGF0ZXNDb21tYW5kIChjdHgpOwogCi0JCQlpbmZvLkJ5cGFzcyA9IGNvbXBsZXRpb25M
aXN0ID09IG51bGw7Ci0JCQlpbmZvLlRleHQgPSBEb2N1bWVudC5FZGl0b3IuSXNTb21ldGhpbmdT
ZWxlY3RlZCA/IEdldHRleHRDYXRhbG9nLkdldFN0cmluZyAoIl9TdXJyb3VuZCBXaXRoLi4uIikg
OiBHZXR0ZXh0Q2F0YWxvZy5HZXRTdHJpbmcgKCJJX25zZXJ0IFRlbXBsYXRlLi4uIik7CisJCQkJ
aW5mby5CeXBhc3MgPSBjb21wbGV0aW9uTGlzdCA9PSBudWxsOworCQkJCWluZm8uVGV4dCA9IERv
Y3VtZW50LkVkaXRvci5Jc1NvbWV0aGluZ1NlbGVjdGVkID8gR2V0dGV4dENhdGFsb2cuR2V0U3Ry
aW5nICgiX1N1cnJvdW5kIFdpdGguLi4iKSA6IEdldHRleHRDYXRhbG9nLkdldFN0cmluZyAoIklf
bnNlcnQgVGVtcGxhdGUuLi4iKTsKKwkJCX0gY2F0Y2ggKEV4Y2VwdGlvbiBlKSB7CisJCQkJTG9n
Z2luZ1NlcnZpY2UuTG9nRXJyb3IgKCJFcnJvciB3aGlsZSB1cGRhdGUgc2hvdyBjb2RlIHRlbXBs
YXRlcyB3aW5kb3ciLCBlKTsKKwkJCQlpbmZvLkJ5cGFzcyA9IHRydWU7CisJCQl9CiAJCX0KIAkK
IAkJDQoNCiAgIENvbW1pdDogN2M3NWE2MGM0MWEzMjg3ODZlOGZjMDUyYzgxMDhhNTI1NDZiNWZj
Mg0KICAgQXV0aG9yOiBNaWtlIEtyw7xnZXIgPG1rcnVlZ2VyQHhhbWFyaW4uY29tPiAobWtydWVn
ZXIpDQogICAgIERhdGU6IDIwMTMtMTEtMjUgMDk6NDc6MzggR01UDQogICAgICBVUkw6IGh0dHBz
Oi8vZ2l0aHViLmNvbS9tb25vL21vbm9kZXZlbG9wL2NvbW1pdC83Yzc1YTYwYzQxYTMyODc4NmU4
ZmMwNTJjODEwOGE1MjU0NmI1ZmMyDQoNCkZpeGVkICdCdWcgMTY0MTQgLSBDb2RlIEluc3BlY3Rp
b24gbGlzdGVkIG11bHRpcGxlIHRpbWVzJw0KDQpDaGFuZ2VkIHBhdGhzOgogIE0gbWFpbi9leHRl
cm5hbC9ucmVmYWN0b3J5Cg0KTW9kaWZpZWQ6IG1haW4vZXh0ZXJuYWwvbnJlZmFjdG9yeQ0KPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQ0KQEAgLTEgKzEgQEAKLVN1YnByb2plY3QgY29tbWl0IDU5ZDkyMDk1Y2NhZDBkMTc4
MjFlNDYzNjAyNTZkZjYyZDVkZTJiMzgKK1N1YnByb2plY3QgY29tbWl0IGIzOWYyY2I2ZDhhYjE5
MzdkOGIxZmQ1ZWY1NWEyYzU1YmE5NWU5YmQNCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fCk1vbm8tcGF0Y2hlcyBtYWlsbGlzdCAgLSAgTW9uby1wYXRjaGVz
QGxpc3RzLnhpbWlhbi5jb20KaHR0cDovL2xpc3RzLnhpbWlhbi5jb20vbWFpbG1hbi9saXN0aW5m
by9tb25vLXBhdGNoZXMK