Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
SUSE:SLE-12-SP2:GA
polkit-qt-1
fixed-reference-counting-of-GObjects.patch
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File fixed-reference-counting-of-GObjects.patch of Package polkit-qt-1
From: Martin Briza <mbriza@redhat.com> Date: Fri, 22 Mar 2013 14:52:52 +0000 Subject: Fixed reference counting of GObjects X-Git-Url: http://quickgit.kde.org/?p=polkit-qt-1.git&a=commitdiff&h=4ed9c3fa043b70ee50176c4baacc07d1c73f1fce --- Fixed reference counting of GObjects Gets us rid of some crashes and reduces memory leaking. There's a change it fixes crashes~ BUGS: 257802, 286935, 291977, 307323 --- --- a/agent/polkitqt1-agent-listener.cpp +++ b/agent/polkitqt1-agent-listener.cpp @@ -62,6 +62,10 @@ g_type_init(); d->listener = listener; + + if (d->listener != NULL) { + g_object_ref(d->listener); + } } Listener::~Listener() --- a/agent/polkitqt1-agent-session.cpp +++ b/agent/polkitqt1-agent-session.cpp @@ -66,6 +66,9 @@ , d(new Private) { d->polkitAgentSession = pkAgentSession; + if (d->polkitAgentSession) { + g_object_ref(d->polkitAgentSession); + } g_signal_connect(G_OBJECT(d->polkitAgentSession), "completed", G_CALLBACK(Private::completed), this); g_signal_connect(G_OBJECT(d->polkitAgentSession), "request", G_CALLBACK(Private::request), this); g_signal_connect(G_OBJECT(d->polkitAgentSession), "show-error", G_CALLBACK(Private::showError), this); --- a/core/polkitqt1-details.cpp +++ b/core/polkitqt1-details.cpp @@ -35,11 +35,15 @@ : QSharedData(other) , polkitDetails(other.polkitDetails) { - g_object_ref(polkitDetails); + if (polkitDetails != NULL) { + g_object_ref(polkitDetails); + } } ~Data() { - g_object_unref(polkitDetails); + if (polkitDetails != NULL) { + g_object_unref(polkitDetails); + } } PolkitDetails *polkitDetails; @@ -57,6 +61,10 @@ { g_type_init(); d->polkitDetails = pkDetails; + + if (d->polkitDetails != NULL) { + g_object_ref(d->polkitDetails); + } } Details::~Details() --- a/core/polkitqt1-subject.cpp +++ b/core/polkitqt1-subject.cpp @@ -58,6 +58,10 @@ { g_type_init(); d->subject = subject; + + if (d->subject != NULL) { + g_object_ref(d->subject); + } } Subject::Subject(const PolkitQt1::Subject& other) @@ -88,6 +92,9 @@ void Subject::setSubject(PolkitSubject *subject) { + if (d->subject != NULL) { + g_object_unref(d->subject); + } d->subject = subject; }
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Code of Conduct
Contact
Support
@OBShq
Terms
openSUSE Build Service is sponsored by
The Open Build Service is an
openSUSE project
.
Sign Up
Log In
Places
Places
All Projects
Status Monitor