mirror of
				https://gitlab.gnome.org/GNOME/glib.git
				synced 2025-11-01 00:42:16 +01:00 
			
		
		
		
	GWinHttpFile: Set display-name and type at the start of the query_info() function
Those attributes do not need the HTTP(S) request data, so just set them right away.
This commit is contained in:
		| @@ -477,6 +477,25 @@ g_winhttp_file_query_info (GFile                *file, | ||||
|   SYSTEMTIME last_modified; | ||||
|   DWORD last_modified_len; | ||||
|  | ||||
|   matcher = g_file_attribute_matcher_new (attributes); | ||||
|   info = g_file_info_new (); | ||||
|   g_file_info_set_attribute_mask (info, matcher); | ||||
|  | ||||
|   basename = g_winhttp_file_get_basename (file); | ||||
|   g_file_info_set_name (info, basename); | ||||
|   g_free (basename); | ||||
|  | ||||
|   if (_g_file_attribute_matcher_matches_id (matcher, | ||||
|                                             G_FILE_ATTRIBUTE_ID_STANDARD_DISPLAY_NAME)) | ||||
|     { | ||||
|       char *display_name = g_winhttp_file_get_display_name (file); | ||||
|       g_file_info_set_display_name (info, display_name); | ||||
|       g_free (display_name); | ||||
|     } | ||||
|  | ||||
|   if (_g_file_attribute_matcher_matches_id (matcher, G_FILE_ATTRIBUTE_ID_STANDARD_TYPE)) | ||||
|     g_file_info_set_file_type (info, G_FILE_TYPE_REGULAR); | ||||
|  | ||||
|   connection = G_WINHTTP_VFS_GET_CLASS (winhttp_file->vfs)->funcs->pWinHttpConnect | ||||
|     (G_WINHTTP_VFS (winhttp_file->vfs)->session, | ||||
|      winhttp_file->url.lpszHostName, | ||||
| @@ -521,25 +540,6 @@ g_winhttp_file_query_info (GFile                *file, | ||||
|   if (!_g_winhttp_response (winhttp_file->vfs, request, error, "HEAD request")) | ||||
|     return NULL; | ||||
|  | ||||
|   matcher = g_file_attribute_matcher_new (attributes); | ||||
|   info = g_file_info_new (); | ||||
|   g_file_info_set_attribute_mask (info, matcher); | ||||
|  | ||||
|   basename = g_winhttp_file_get_basename (file); | ||||
|   g_file_info_set_name (info, basename); | ||||
|   g_free (basename); | ||||
|  | ||||
|   if (_g_file_attribute_matcher_matches_id (matcher, | ||||
|                                             G_FILE_ATTRIBUTE_ID_STANDARD_DISPLAY_NAME)) | ||||
|     { | ||||
|       char *display_name = g_winhttp_file_get_display_name (file); | ||||
|       g_file_info_set_display_name (info, display_name); | ||||
|       g_free (display_name); | ||||
|     } | ||||
|  | ||||
|   if (_g_file_attribute_matcher_matches_id (matcher, G_FILE_ATTRIBUTE_ID_STANDARD_TYPE)) | ||||
|     g_file_info_set_file_type (info, G_FILE_TYPE_REGULAR); | ||||
|  | ||||
|   content_length = NULL; | ||||
|   if (_g_winhttp_query_header (winhttp_file->vfs, | ||||
|                                request, | ||||
|   | ||||
		Reference in New Issue
	
	Block a user