OSDN Git Service

LinGui: fix segfault on startup for older fedora versions
authorjstebbins <jstebbins@b64f7644-9d1e-0410-96f1-a4d463321fa5>
Fri, 17 Apr 2009 18:06:27 +0000 (18:06 +0000)
committerjstebbins <jstebbins@b64f7644-9d1e-0410-96f1-a4d463321fa5>
Fri, 17 Apr 2009 18:06:27 +0000 (18:06 +0000)
multiple drive change events caused multiple source scans to be started

git-svn-id: svn://localhost/HandBrake/trunk@2338 b64f7644-9d1e-0410-96f1-a4d463321fa5

gtk/src/callbacks.c

index e2b8c3c..5fc55f4 100644 (file)
@@ -2972,14 +2972,17 @@ wm_drive_changed(MSG *msg, signal_user_data_t *ud)
 G_MODULE_EXPORT void
 drive_changed_cb(GVolumeMonitor *gvm, GDrive *gd, signal_user_data_t *ud)
 {
+       gchar *device;
+       gint state;
+
        g_debug("drive_changed_cb()");
        ghb_file_menu_add_dvd(ud);
 
-       gchar *device;
-
+       state = ghb_get_scan_state();
        device = g_drive_get_identifier(gd, G_VOLUME_IDENTIFIER_KIND_UNIX_DEVICE);
        if (ud->current_dvd_device == NULL ||
-               strcmp(device, ud->current_dvd_device) != 0)
+               strcmp(device, ud->current_dvd_device) != 0 ||
+               state != GHB_STATE_IDLE )
        {
                return;
        }