~ubuntu-branches/ubuntu/maverick/brasero/maverick

« back to all changes in this revision

Viewing changes to libbrasero-burn/brasero-session-cfg.c

  • Committer: Bazaar Package Importer
  • Author(s): Robert Ancell
  • Date: 2009-11-26 16:20:01 UTC
  • mfrom: (1.1.34 upstream)
  • Revision ID: james.westby@ubuntu.com-20091126162001-adzp6h0x5ow9bc4b
Tags: 2.29.2-0ubuntu1
* New upstream release:
  - Integrate Brasero with PackageKit
  - Gobject-introspection support for libbrasero-media and libbrasero-burn
  - Added Tracker support for searches besides Beagle
  - Fix compile failure using --disable-introspection see bgo #602027
  - Removed deprecated GLib symbols fixes bgo #601040
  - Fix #601871 - Wrong remaining space when audio CD of size greater than 70
    min
  - Fix #601496 - Select disc image selector allows to selecd pictures
  - Fix #601109 - burning disks with burn:// doesn't set the disk label
  - Fix #601259 - Problems with folder depth
  - Fix #599655 - brasero crashed with SIGSEGV in g_main_context_dispatch()
  - Fix #588323 - crash in Disc Copier: Dragging a track from Banshee
  - Fix #600007 - Memory leaks in brasero
  - Fix #600293 - Fails to build error: cannot convert to a pointer type
* debian/control.in:
  - Bump build-depends on libglib2.0-dev
* debian/patches/012_build_error.patch:
  - Applied upstream
* debian/patches/010_lpi.patch:
* debian/patches/011_nautilus_menu_move.patch:
* debian/patches/99_autoconf.patch:
  - Refreshed

Show diffs side-by-side

added added

removed removed

Lines of Context:
768
768
                                       BRASERO_BURN_FLAG_CHECK_SIZE|
769
769
                                       BRASERO_BURN_FLAG_NOGRACE);
770
770
 
 
771
        /* This one is only supported when we are
 
772
         * burning to a disc or copying a disc but it
 
773
         * would better be set. */
 
774
        if (priv->supported & BRASERO_BURN_FLAG_EJECT)
 
775
                brasero_burn_session_add_flag (BRASERO_BURN_SESSION (self),
 
776
                                               BRASERO_BURN_FLAG_EJECT);
 
777
 
771
778
        /* Always save flags */
772
779
        brasero_session_cfg_save_drive_flags (self, medium);
773
780
}
972
979
                return BRASERO_SESSION_VALID;
973
980
        }
974
981
 
975
 
        /* FIXME: This is not good since with a DVD 3% of 4.3G may be too much
976
 
         * with 3% we are slightly over the limit of the most overburnable discs
977
 
         * but at least users can try to overburn as much as they can. */
 
982
        /* Overburn is only for CDs */
 
983
        if ((brasero_medium_get_status (medium) & BRASERO_MEDIUM_CD) == 0) {
 
984
                priv->is_valid = BRASERO_SESSION_INSUFFICIENT_SPACE;
 
985
                return BRASERO_SESSION_INSUFFICIENT_SPACE;
 
986
        }
978
987
 
979
988
        /* The idea would be to test write the disc with cdrecord from /dev/null
980
989
         * until there is an error and see how much we were able to write. So,
1043
1052
        status = brasero_status_new ();
1044
1053
        result = brasero_burn_session_get_status (BRASERO_BURN_SESSION (self), status);
1045
1054
        if (result == BRASERO_BURN_NOT_READY) {
1046
 
                brasero_status_free (status);
 
1055
                g_object_unref (status);
1047
1056
 
1048
1057
                priv->is_valid = BRASERO_SESSION_NOT_READY;
1049
1058
                g_signal_emit (self,
1058
1067
                error = brasero_status_get_error (status);
1059
1068
                if (error) {
1060
1069
                        if (error->code == BRASERO_BURN_ERROR_EMPTY) {
1061
 
                                brasero_status_free (status);
 
1070
                                g_object_unref (status);
1062
1071
                                g_error_free (error);
1063
1072
 
1064
1073
                                priv->is_valid = BRASERO_SESSION_EMPTY;
1071
1080
                        g_error_free (error);
1072
1081
                }
1073
1082
        }
1074
 
        brasero_status_free (status);
 
1083
        g_object_unref (status);
1075
1084
 
1076
1085
        /* Make sure there is a source */
1077
1086
        source = brasero_track_type_new ();
1152
1161
                        brasero_track_type_set_stream_format (source,
1153
1162
                                                              BRASERO_METADATA_INFO|
1154
1163
                                                              brasero_track_type_get_stream_format (source));
1155
 
                        result = brasero_burn_session_input_supported (BRASERO_BURN_SESSION (self),
1156
 
                                                                       source,
1157
 
                                                                       FALSE);
 
1164
                        result = brasero_burn_session_input_supported (BRASERO_BURN_SESSION (self), source, FALSE);
1158
1165
                        if (result == BRASERO_BURN_OK) {
1159
1166
                                priv->CD_TEXT_modified = FALSE;
1160
1167
 
1168
1175
                                brasero_track_type_set_stream_format (source,
1169
1176
                                                                      (~BRASERO_METADATA_INFO) &
1170
1177
                                                                      brasero_track_type_get_stream_format (source));
1171
 
                                result = brasero_burn_session_input_supported (BRASERO_BURN_SESSION (self),
1172
 
                                                                               source,
1173
 
                                                                               FALSE);
 
1178
                                result = brasero_burn_session_input_supported (BRASERO_BURN_SESSION (self), source, FALSE);
1174
1179
                        }
1175
1180
                }
1176
1181
                else {
1186
1191
                                                                      (~BRASERO_METADATA_INFO) &
1187
1192
                                                                      brasero_track_type_get_stream_format (source));
1188
1193
 
1189
 
                                result = brasero_burn_session_input_supported (BRASERO_BURN_SESSION (self),
1190
 
                                                                               source,
1191
 
                                                                               FALSE);
 
1194
                                result = brasero_burn_session_input_supported (BRASERO_BURN_SESSION (self), source, FALSE);
 
1195
 
1192
1196
                                BRASERO_BURN_LOG ("Tested support without Metadata information (result %d)", result);
1193
1197
                                if (result == BRASERO_BURN_OK) {
1194
1198
                                        priv->CD_TEXT_modified = TRUE;
1218
1222
 
1219
1223
                        tmp_type = brasero_track_type_new ();
1220
1224
 
1221
 
                        /* NOTE: this is the same as brasero_burn_session_can_burn () */
 
1225
                        /* NOTE: this is the same as brasero_burn_session_supported () */
1222
1226
                        result = brasero_burn_session_get_tmp_image_type_same_src_dest (BRASERO_BURN_SESSION (self), tmp_type);
1223
1227
                        if (result == BRASERO_BURN_OK) {
1224
1228
                                if (brasero_track_type_get_has_image (tmp_type)) {