libpurple/whiteboard.c

changeset 40339
54813fd13c13
parent 40195
fb4b0ae193c0
--- a/libpurple/whiteboard.c	Wed Apr 01 18:07:49 2020 +0000
+++ b/libpurple/whiteboard.c	Thu Mar 19 23:35:15 2020 -0500
@@ -23,6 +23,7 @@
 
 #include "internal.h"
 #include "whiteboard.h"
+#include "purpleprotocolfactory.h"
 #include "protocol.h"
 
 typedef struct _PurpleWhiteboardPrivate  PurpleWhiteboardPrivate;
@@ -518,16 +519,17 @@
 
 	g_return_val_if_fail(PURPLE_IS_PROTOCOL(protocol), NULL);
 
-	if (PURPLE_PROTOCOL_IMPLEMENTS(protocol, FACTORY, whiteboard_new))
-		wb = purple_protocol_factory_iface_whiteboard_new(protocol, account,
-				who, state);
-	else
+	if(PURPLE_IS_PROTOCOL_FACTORY(protocol)) {
+		wb = purple_protocol_factory_whiteboard_new(
+			PURPLE_PROTOCOL_FACTORY(protocol), account, who, state);
+	} else {
 		wb = g_object_new(PURPLE_TYPE_WHITEBOARD,
 			"account", account,
 			"who",     who,
 			"state",   state,
 			NULL
 		);
+	}
 
 	g_return_val_if_fail(wb != NULL, NULL);
 

mercurial