qom/object.c: Allow itf cast with num_itfs = 0
num_interfaces only tells you how many interfaces the concrete child class has (as defined in the TypeInfo). This means if you have a child class which defines no interfaces of its own, but its parent has interfaces you cannot cast to those parent interfaces. Fixed changing the guard to check the class->interfaces list instead (which is a complete flattened list of implemented interfaces). Signed-off-by: Peter Crosthwaite <peter.crosthwaite@xilinx.com> Message-id: a8c2db3b9b1f3c4bb81aca352b69e33260f36545.1361246206.git.peter.crosthwaite@xilinx.com Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
This commit is contained in:
		
							parent
							
								
									3e407de477
								
							
						
					
					
						commit
						00e2ceae6c
					
				| 
						 | 
				
			
			@ -449,7 +449,8 @@ ObjectClass *object_class_dynamic_cast(ObjectClass *class,
 | 
			
		|||
    TypeImpl *type = class->type;
 | 
			
		||||
    ObjectClass *ret = NULL;
 | 
			
		||||
 | 
			
		||||
    if (type->num_interfaces && type_is_ancestor(target_type, type_interface)) {
 | 
			
		||||
    if (type->class->interfaces &&
 | 
			
		||||
            type_is_ancestor(target_type, type_interface)) {
 | 
			
		||||
        int found = 0;
 | 
			
		||||
        GSList *i;
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in New Issue