[libxml++] Validator: Make initialize_valid() callable from all subclasses
- From: Kjell Ahlstedt <kjellahl src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [libxml++] Validator: Make initialize_valid() callable from all subclasses
- Date: Wed, 15 Oct 2014 14:38:49 +0000 (UTC)
commit 65be758ef73c223b01deb8525104daad0bbe67f4
Author: Kjell Ahlstedt <kjell ahlstedt bredband net>
Date: Wed Oct 15 10:53:29 2014 +0200
Validator: Make initialize_valid() callable from all subclasses
* libxml++/validators/validator.cc: In initialize_valid(), don't initialize
valid_'s data members, if it's a null pointer.
* libxml++/validators/schemavalidator.cc: Call the base class version from
initialize_valid() instead of copying some code from it.
libxml++/validators/schemavalidator.cc | 5 +----
libxml++/validators/validator.cc | 17 +++++++++++------
2 files changed, 12 insertions(+), 10 deletions(-)
---
diff --git a/libxml++/validators/schemavalidator.cc b/libxml++/validators/schemavalidator.cc
index c51b62c..f16ec55 100644
--- a/libxml++/validators/schemavalidator.cc
+++ b/libxml++/validators/schemavalidator.cc
@@ -150,10 +150,7 @@ const Schema* SchemaValidator::get_schema() const
void SchemaValidator::initialize_valid()
{
xmlSchemaSetValidErrors(ctxt_, &callback_validity_error, &callback_validity_warning, this);
-
- //Clear these temporary buffers too:
- validate_error_.erase();
- validate_warning_.erase();
+ Validator::initialize_valid();
}
diff --git a/libxml++/validators/validator.cc b/libxml++/validators/validator.cc
index d073e16..55e3e41 100644
--- a/libxml++/validators/validator.cc
+++ b/libxml++/validators/validator.cc
@@ -26,12 +26,17 @@ Validator::~Validator()
void Validator::initialize_valid()
{
- //Tell the validation context about the callbacks:
- valid_->error = &callback_validity_error;
- valid_->warning = &callback_validity_warning;
+ // valid_ is used only by DtdValidator.
+ //TODO: When we can break ABI, move valid_ to DtdValidator.
+ if (valid_)
+ {
+ //Tell the validation context about the callbacks:
+ valid_->error = &callback_validity_error;
+ valid_->warning = &callback_validity_warning;
- //Allow the callback_validity_*() methods to retrieve the C++ instance:
- valid_->userData = this;
+ //Allow the callback_validity_*() methods to retrieve the C++ instance:
+ valid_->userData = this;
+ }
//Clear these temporary buffers too:
validate_error_.erase();
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]