Start setting the 'c3' mro unambiguously everywhere
[dbsrgits/DBIx-Class.git] / lib / DBIx / Class / AccessorGroup.pm
index ea25e4f..12a8744 100644 (file)
@@ -7,6 +7,16 @@ use base qw/Class::Accessor::Grouped/;
 use Scalar::Util qw/weaken blessed/;
 use namespace::clean;
 
+sub mk_classdata {
+  shift->mk_classaccessor(@_);
+}
+
+sub mk_classaccessor {
+  my $self = shift;
+  $self->mk_group_accessors('inherited', $_[0]);
+  $self->set_inherited(@_) if @_ > 1;
+}
+
 my $successfully_loaded_components;
 
 sub get_component_class {
@@ -18,6 +28,8 @@ sub get_component_class {
   if (defined $class and ! $successfully_loaded_components->{$class} ) {
     $_[0]->ensure_class_loaded($class);
 
+    mro::set_mro( $class, 'c3' );
+
     no strict 'refs';
     $successfully_loaded_components->{$class}
       = ${"${class}::__LOADED__BY__DBIC__CAG__COMPONENT_CLASS__"}