Scanner: Assert resource in destroy handlers

Change-Id: I8e32b267a4cc5a4cfc462f7819a378573e179134
Reviewed-by: Pier Luigi Fiorini <pierluigi.fiorini@liri.io>
This commit is contained in:
Johan Klokkhammer Helsing 2018-11-01 10:22:40 +01:00 committed by Johan Helsing
parent 2f72ea6d82
commit e82a4695d2

View File

@ -768,6 +768,7 @@ bool Scanner::process()
printf(" void %s::destroy_func(struct ::wl_resource *client_resource)\n", interfaceName); printf(" void %s::destroy_func(struct ::wl_resource *client_resource)\n", interfaceName);
printf(" {\n"); printf(" {\n");
printf(" Resource *resource = Resource::fromResource(client_resource);\n"); printf(" Resource *resource = Resource::fromResource(client_resource);\n");
printf(" Q_ASSERT(resource);\n");
printf(" %s *that = resource->%s_object;\n", interfaceName, interfaceNameStripped); printf(" %s *that = resource->%s_object;\n", interfaceName, interfaceNameStripped);
printf(" that->m_resource_map.remove(resource->client(), resource);\n"); printf(" that->m_resource_map.remove(resource->client(), resource);\n");
printf(" that->%s_destroy_resource(resource);\n", interfaceNameStripped); printf(" that->%s_destroy_resource(resource);\n", interfaceNameStripped);