mirror of
https://github.com/atom/atom.git
synced 2026-01-23 13:58:08 -05:00
File does not trigger 'contents-change' when its md5 does not change
This commit is contained in:
@@ -5,7 +5,11 @@ _ = require 'underscore'
|
||||
|
||||
module.exports =
|
||||
class File
|
||||
path: null
|
||||
md5: null
|
||||
|
||||
constructor: (@path) ->
|
||||
@updateMd5()
|
||||
|
||||
getPath: ->
|
||||
@path
|
||||
@@ -13,6 +17,9 @@ class File
|
||||
getName: ->
|
||||
fs.base(@path)
|
||||
|
||||
updateMd5: ->
|
||||
@md5 = fs.md5ForPath(@path)
|
||||
|
||||
afterSubscribe: ->
|
||||
@subscribeToNativeChangeEvents() if @subscriptionCount() == 1
|
||||
|
||||
@@ -21,7 +28,10 @@ class File
|
||||
|
||||
subscribeToNativeChangeEvents: ->
|
||||
@watchId = $native.watchPath @path, (eventTypes) =>
|
||||
@trigger 'contents-change' if eventTypes.modified?
|
||||
newMd5 = fs.md5ForPath(@getPath())
|
||||
if eventTypes.modified? and newMd5 != @md5
|
||||
@md5 = newMd5
|
||||
@trigger 'contents-change'
|
||||
|
||||
unsubscribeFromNativeChangeEvents: ->
|
||||
$native.unwatchPath(@path, @watchId)
|
||||
|
||||
Reference in New Issue
Block a user