mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2025-03-30 12:49:40 +00:00
validate-runner / reporter: Sanitize reports refcounting.
The previous code worked but was confusing, the runner didn't actually take the ref it was releasing later. + Fix indentation.
This commit is contained in:
parent
de554ba417
commit
b21bb1ff34
2 changed files with 9 additions and 8 deletions
|
@ -166,8 +166,7 @@ gst_validate_report_valist (GstValidateReporter * reporter,
|
||||||
}
|
}
|
||||||
|
|
||||||
GST_VALIDATE_REPORTER_REPORTS_LOCK (reporter);
|
GST_VALIDATE_REPORTER_REPORTS_LOCK (reporter);
|
||||||
g_hash_table_insert (priv->reports, (gpointer) issue_id,
|
g_hash_table_insert (priv->reports, (gpointer) issue_id, report);
|
||||||
gst_validate_report_ref (report));
|
|
||||||
GST_VALIDATE_REPORTER_REPORTS_UNLOCK (reporter);
|
GST_VALIDATE_REPORTER_REPORTS_UNLOCK (reporter);
|
||||||
|
|
||||||
#ifndef GST_DISABLE_GST_DEBUG
|
#ifndef GST_DISABLE_GST_DEBUG
|
||||||
|
@ -192,8 +191,6 @@ gst_validate_report_valist (GstValidateReporter * reporter,
|
||||||
|
|
||||||
if (priv->runner && int_ret == GST_VALIDATE_REPORTER_REPORT) {
|
if (priv->runner && int_ret == GST_VALIDATE_REPORTER_REPORT) {
|
||||||
gst_validate_runner_add_report (priv->runner, report);
|
gst_validate_runner_add_report (priv->runner, report);
|
||||||
} else {
|
|
||||||
gst_validate_report_unref (report);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if (gst_validate_report_check_abort (report)) {
|
if (gst_validate_report_check_abort (report)) {
|
||||||
|
@ -287,7 +284,7 @@ gst_validate_reporter_set_handle_g_logs (GstValidateReporter * reporter)
|
||||||
* The caller should unref each report once it is done with them.
|
* The caller should unref each report once it is done with them.
|
||||||
*/
|
*/
|
||||||
GList *
|
GList *
|
||||||
gst_validate_reporter_get_reports (GstValidateReporter *reporter)
|
gst_validate_reporter_get_reports (GstValidateReporter * reporter)
|
||||||
{
|
{
|
||||||
GstValidateReporterPrivate *priv;
|
GstValidateReporterPrivate *priv;
|
||||||
GList *reports, *tmp;
|
GList *reports, *tmp;
|
||||||
|
@ -298,7 +295,9 @@ gst_validate_reporter_get_reports (GstValidateReporter *reporter)
|
||||||
GST_VALIDATE_REPORTER_REPORTS_LOCK (reporter);
|
GST_VALIDATE_REPORTER_REPORTS_LOCK (reporter);
|
||||||
reports = g_hash_table_get_values (priv->reports);
|
reports = g_hash_table_get_values (priv->reports);
|
||||||
for (tmp = reports; tmp; tmp = tmp->next) {
|
for (tmp = reports; tmp; tmp = tmp->next) {
|
||||||
ret = g_list_append (ret, gst_validate_report_ref ((GstValidateReport *) (tmp->data)));
|
ret =
|
||||||
|
g_list_append (ret,
|
||||||
|
gst_validate_report_ref ((GstValidateReport *) (tmp->data)));
|
||||||
}
|
}
|
||||||
g_list_free (reports);
|
g_list_free (reports);
|
||||||
GST_VALIDATE_REPORTER_REPORTS_UNLOCK (reporter);
|
GST_VALIDATE_REPORTER_REPORTS_UNLOCK (reporter);
|
||||||
|
@ -315,7 +314,7 @@ gst_validate_reporter_get_reports (GstValidateReporter *reporter)
|
||||||
* Returns: the number of reports currently present in @reporter.
|
* Returns: the number of reports currently present in @reporter.
|
||||||
*/
|
*/
|
||||||
gint
|
gint
|
||||||
gst_validate_reporter_get_reports_count (GstValidateReporter *reporter)
|
gst_validate_reporter_get_reports_count (GstValidateReporter * reporter)
|
||||||
{
|
{
|
||||||
GstValidateReporterPrivate *priv;
|
GstValidateReporterPrivate *priv;
|
||||||
gint ret;
|
gint ret;
|
||||||
|
|
|
@ -297,8 +297,10 @@ void
|
||||||
gst_validate_runner_add_report (GstValidateRunner * runner,
|
gst_validate_runner_add_report (GstValidateRunner * runner,
|
||||||
GstValidateReport * report)
|
GstValidateReport * report)
|
||||||
{
|
{
|
||||||
|
|
||||||
GST_VALIDATE_RUNNER_LOCK (runner);
|
GST_VALIDATE_RUNNER_LOCK (runner);
|
||||||
runner->priv->reports = g_list_append (runner->priv->reports, report);
|
runner->priv->reports =
|
||||||
|
g_list_append (runner->priv->reports, gst_validate_report_ref (report));
|
||||||
GST_VALIDATE_RUNNER_UNLOCK (runner);
|
GST_VALIDATE_RUNNER_UNLOCK (runner);
|
||||||
|
|
||||||
g_signal_emit (runner, _signals[REPORT_ADDED_SIGNAL], 0, report);
|
g_signal_emit (runner, _signals[REPORT_ADDED_SIGNAL], 0, report);
|
||||||
|
|
Loading…
Reference in a new issue