desktop_capturer: Fix usage of scoped_glib class

This fixes a crash introduced with recent move of Scoped class for
glib objects into a separated implementation.

Bug: chromium:1291247
Change-Id: I49d56bc0811f52434213516f51ca9e8712692e15
Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/250840
Reviewed-by: Mark Foltz <mfoltz@chromium.org>
Commit-Queue: Mark Foltz <mfoltz@chromium.org>
Cr-Commit-Position: refs/heads/main@{#35922}
diff --git a/modules/desktop_capture/BUILD.gn b/modules/desktop_capture/BUILD.gn
index 8701c29..363e318 100644
--- a/modules/desktop_capture/BUILD.gn
+++ b/modules/desktop_capture/BUILD.gn
@@ -565,7 +565,6 @@
       "linux/wayland/base_capturer_pipewire.h",
       "linux/wayland/egl_dmabuf.cc",
       "linux/wayland/egl_dmabuf.h",
-      "linux/wayland/scoped_glib.cc",
       "linux/wayland/scoped_glib.h",
       "linux/wayland/screencast_portal.cc",
       "linux/wayland/screencast_portal.h",
diff --git a/modules/desktop_capture/linux/wayland/scoped_glib.cc b/modules/desktop_capture/linux/wayland/scoped_glib.cc
deleted file mode 100644
index df588f0..0000000
--- a/modules/desktop_capture/linux/wayland/scoped_glib.cc
+++ /dev/null
@@ -1,59 +0,0 @@
-/*
- *  Copyright 2022 The WebRTC project authors. All Rights Reserved.
- *
- *  Use of this source code is governed by a BSD-style license
- *  that can be found in the LICENSE file in the root of the source
- *  tree. An additional intellectual property rights grant can be found
- *  in the file PATENTS.  All contributing project authors may
- *  be found in the AUTHORS file in the root of the source tree.
- */
-
-#include "modules/desktop_capture/linux/wayland/scoped_glib.h"
-
-#include <gio/gio.h>
-
-namespace webrtc {
-
-template <>
-Scoped<GError>::~Scoped() {
-  if (ptr_) {
-    g_error_free(ptr_);
-  }
-}
-
-template <>
-Scoped<char>::~Scoped() {
-  if (ptr_) {
-    g_free(ptr_);
-  }
-}
-
-template <>
-Scoped<GVariant>::~Scoped() {
-  if (ptr_) {
-    g_variant_unref(ptr_);
-  }
-}
-
-template <>
-Scoped<GVariantIter>::~Scoped() {
-  if (ptr_) {
-    g_variant_iter_free(ptr_);
-  }
-}
-
-template <>
-Scoped<GDBusMessage>::~Scoped() {
-  if (ptr_) {
-    g_object_unref(ptr_);
-  }
-}
-
-template <>
-Scoped<GUnixFDList>::~Scoped() {
-  if (ptr_) {
-    g_object_unref(ptr_);
-  }
-}
-
-}  // namespace webrtc
diff --git a/modules/desktop_capture/linux/wayland/scoped_glib.h b/modules/desktop_capture/linux/wayland/scoped_glib.h
index de82557..3af43ce 100644
--- a/modules/desktop_capture/linux/wayland/scoped_glib.h
+++ b/modules/desktop_capture/linux/wayland/scoped_glib.h
@@ -11,6 +11,8 @@
 #ifndef MODULES_DESKTOP_CAPTURE_LINUX_WAYLAND_SCOPED_GLIB_H_
 #define MODULES_DESKTOP_CAPTURE_LINUX_WAYLAND_SCOPED_GLIB_H_
 
+#include <gio/gio.h>
+
 #include "rtc_base/checks.h"
 
 namespace webrtc {
@@ -45,6 +47,48 @@
   T* ptr_ = nullptr;
 };
 
+template <>
+Scoped<GError>::~Scoped() {
+  if (ptr_) {
+    g_error_free(ptr_);
+  }
+}
+
+template <>
+Scoped<char>::~Scoped() {
+  if (ptr_) {
+    g_free(ptr_);
+  }
+}
+
+template <>
+Scoped<GVariant>::~Scoped() {
+  if (ptr_) {
+    g_variant_unref(ptr_);
+  }
+}
+
+template <>
+Scoped<GVariantIter>::~Scoped() {
+  if (ptr_) {
+    g_variant_iter_free(ptr_);
+  }
+}
+
+template <>
+Scoped<GDBusMessage>::~Scoped() {
+  if (ptr_) {
+    g_object_unref(ptr_);
+  }
+}
+
+template <>
+Scoped<GUnixFDList>::~Scoped() {
+  if (ptr_) {
+    g_object_unref(ptr_);
+  }
+}
+
 }  // namespace webrtc
 
 #endif  // MODULES_DESKTOP_CAPTURE_LINUX_WAYLAND_SCOPED_GLIB_H_