]> Pileus Git - ~andy/gtk/blobdiff - gtk/gtkiconcache.c
Fix DND with frame sync
[~andy/gtk] / gtk / gtkiconcache.c
index 932f540a9072f3220eeec2406d098bb92452d677..7d8b3fc7395815f5020726ab1f4a46035f87e535 100644 (file)
@@ -12,9 +12,7 @@
  * Library General Public License for more details.
  *
  * You should have received a copy of the GNU Library General Public
- * License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
+ * License along with this library. If not, see <http://www.gnu.org/licenses/>.
  */
 
 #include "config.h"
@@ -108,8 +106,14 @@ _gtk_icon_cache_new_for_path (const gchar *path)
     goto done;
 
 #ifdef G_OS_WIN32
+
+/* Bug 660730: _fstat32 is only defined in msvcrt80.dll+/VS 2005+ */
+/*             or possibly in the msvcrt.dll linked to by the Windows DDK */
+/*             (will need to check on the Windows DDK part later) */
+#if (_MSC_VER >= 1400 || __MSVCRT_VERSION__ >= 0x0800)
 #undef fstat /* Just in case */
 #define fstat _fstat32  
+#endif
 #endif
 
   if (fstat (fd, &st) < 0 || st.st_size < 4)
@@ -442,6 +446,9 @@ _gtk_icon_cache_get_icon (GtkIconCache *cache,
 
   offset = find_image_offset (cache, icon_name, directory_index);
   
+  if (!offset)
+    return NULL;
+
   image_data_offset = GET_UINT32 (cache->buffer, offset + 4);
   
   if (!image_data_offset)